我试图根据两个条件 - 治疗和深度从R中排除一些数据。我想摆脱P和PF trt中的数据,但只有5厘米的深度。我试过了
df<-df[df$trt != "P" & df$depth != "5",]
但这可以消除P治疗中的所有东西以及5厘米深处的一切。我只是打算再做一次以摆脱其他trt PF。
df<-df[df$trt != "PF" & df$depth != "5",]
我用什么来指定排除需要一起发生?
以下是我的数据示例:
trt depth mass
P 5 3
P 15 4
P 30 2
P 45 3
PF 5 2
PF 15 5
PF 30 2
CC 5 2
CC 15 3
CW 5 2
CW 15 4
CL 5 4
CL 30 2
答案 0 :(得分:2)
这是一个逻辑错误,而不是R错误。如果你想摆脱两个条件都存在的数据,你想要
df<-df[!(df$trt %in% c("P","PF") & df$depth == "5"),]
等价地,
df<-df[!(df$trt %in% c("P","PF") | df$depth != "5"),]