有条件地删除R中的行

有条件地删除R中的行,r,statistics,R,Statistics,数据帧: A ; B x 1 x 7 y 2 y 3 z 9 z 1 我想删除A=x和A=z的所有行,因为x和z在B列中的值为1。因此,dataframe必须如下所示: A ; B y 2 y 3 谢谢,my.data.frame您可以尝试subset my.data.frame <- subset(data , A != "x" | A != "z") > subset(df, ! A %in% c(&q

数据帧:

A ; B
x   1
x   7
y   2
y   3
z   9
z   1
我想删除A=x和A=z的所有行,因为x和z在B列中的值为1。因此,dataframe必须如下所示:

A ; B
y   2
y   3

谢谢,

my.data.frame您可以尝试
subset

my.data.frame <- subset(data , A != "x" | A != "z")
> subset(df, ! A %in% c("x","z"))
  A B
3 y 0
4 y 0
数据

> dput(df)
structure(list(A = c("x", "x", "y", "y", "z", "z"), B = c(1L, 
0L, 0L, 0L, 0L, 1L)), class = "data.frame", row.names = c(NA,
-6L))

a
数据表
方法

library( data.table )
DT <- fread("A  B
x   1
x   7
y   2
y   3
z   9
z   1")


DT[ copy(DT)[, temp := sum(B == 1), by = A ]$temp == 0, ]

#    A B
# 1: y 2
# 2: y 3
库(data.table)

DT See:谢谢你的回答。我的df有数千行,所以我想根据B列的值删除这些行。谢谢你的回答。列B并不总是有1或0个值。我想删除A列中至少有一次B列中的值为1的所有行。请参阅更新的答案。。另外,如果B的值不是0或1,您可能应该在示例数据中添加一些。非常感谢。现在我的问题更像是我的真实基础。更新答案。。