从存储在其他向量中的一个向量创建变量向量

时间:2014-05-05 13:36:28

标签: r

我将使用一个示例而不是我的数据。

所以,让我们说我们有一个字母矢量:

> LETTERS
 [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T"
[21] "U" "V" "W" "X" "Y" "Z"

我创建了一个新的向量:

vec <- c("A", "D", "H", "Y", "GG")

我可以使用这样的函数来查看来自vec的哪些字母属于LETTERS而不是TRUE / FALSE。

> b <- vec %in% LETTERS
> b
[1]  TRUE  TRUE  TRUE  TRUE FALSE

是否有可能获得LETTERS中找到的变量向量(在这种情况下是字母)?

所以输出应该是这样的:

>vec_of_variables
"A", "D", "H", "Y"

2 个答案:

答案 0 :(得分:3)

您可能正在寻找的具体功能是intersect

> intersect(vec, LETTERS)
[1] "A" "D" "H" "Y"

答案 1 :(得分:2)

只需使用刚刚创建的逻辑值进行子集化。

vec_of_variables <- vec[vec %in% LETTERS]