以下作品 -
3 %in% c(3,4,5) # Returns TRUE
如果我在数据框中有一个 x 向量 -
x
1
3
5
7
如何根据 if x %in c(3,4,5) 生成 TRUE/FALSE 向量?简单地使用data['x'] %in c(3,4,5)
是行不通的,它只返回一个值而不是 5。
data[, "x"] %in% c(3,4,5)
或者
data[["x"]] %in% c(3,4,5)
或者
data$x %in% c(3,4,5)
应该做的伎俩。
d = data.frame(x=c(1,3,5,7),y=c(23,42,1,5))
> d["x"] %in% c(3,4,5)
[1] FALSE
> unlist(d["x"]) %in% c(3,4,5)
[1] FALSE TRUE TRUE FALSE
正如洪所说,以下可能更简单:
> d[,"x"] %in% c(3,4,5)
[1] FALSE TRUE TRUE FALSE
> d$x %in% c(3,4,5)
[1] FALSE TRUE TRUE FALSE