在R中,检查属性是否在整个数据帧列的列表中

时间:2013-06-17 15:43:47

标签: r dataframe

以下作品 -

3 %in% c(3,4,5) # Returns TRUE

如果我在数据帧中有x向量 -

x
1
3
5
7

如何根据c(3,4,5)中的x%生成TRUE / FALSE向量?简单地使用data['x'] %in c(3,4,5)不起作用是它只返回一个值而不是5。

2 个答案:

答案 0 :(得分:7)

data[, "x"] %in% c(3,4,5)

data[["x"]] %in% c(3,4,5)

data$x %in% c(3,4,5)

应该这样做。

答案 1 :(得分:1)

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
相关问题