[英]Remove rows from dataframe if they contain a certain value (R ,dplyr)
我有一個 dataframe,df。 我想從 dataframe 中刪除所有包含值 0 的行。
ID Value
A 8
A 8
A 0
B 1
B 2
C 0
期望的結果:
ID Value
A 8
A 8
B 1
B 2
這是輸出:
structure(list(ID = structure(c(1L, 1L, 1L, 2L, 2L, 3L), .Label = c("A",
"B", "C"), class = "factor"), Value = c(8L, 8L, 0L, 1L, 2L, 0L
)), class = "data.frame", row.names = c(NA, -6L))
這是我嘗試過的:
I was using the same concept to remove a column:
library(dplyr)
df%>% select(-c()
However, I am unsure how to specify how to remove the row if and only if it contains a 0.
我們可以使用filter
而不是select
因為select
用於選擇列,而filter
則相反,即保留/刪除行
library(dplyr)
df %>%
filter(Value!=0)
#or filter(as.logical(Value))
在base R
subset(df, as.logical(Value))
使用as.logical
也可以將值轉換為 TRUE/FALSE,即所有 0 都為 FALSE, as.logical
任何其他值都為 TRUE
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.