3

以下作品 -

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。

4

2 回答 2

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

或者

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

或者

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

应该做的伎俩。

于 2013-06-17T15:46:04.867 回答
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
于 2013-06-17T15:47:09.427 回答