子集/删除带有向量值的数据

时间:2011-12-02 21:27:09

标签: r dataframe subset

小例子

 A <- c("kl", "ck", "nK", "jk")
    B <- data.frame( CK = 1:10, JK = c ("kl", "cdf", "ck", "snp", "je1","cki", 
"nK", "cd12", "jk", "lm"), np = 31:40)
B
   CK   JK np
1   1   kl 31
2   2  cdf 32
3   3   ck 33
4   4  snp 34
5   5  je1 35
6   6   cki 36
7   7   nK 37
8   8 cd12 38
9   9   jk 39
10 10   lm 4

我想选择B $ Jk的值等于A的行,保留顺序。因此输出将具有整行值(“kl”,“ck”,“nK”,“jk”)

   CK   JK np
1   1   kl 31
2   3   ck 33
3   7   nK 37
4  9   jk 39

我的试用版:

B[B$JK %in% A] 
Error in `[.data.frame`(B, B$JK %in% A) : undefined columns selected

我知道这是一个非常基本的问题,但我不知道。

1 个答案:

答案 0 :(得分:4)

你只是错过了一个逗号:

B[B$JK %in% A,]

 CK JK np
1  1 kl 31
3  3 ck 33
7  7 nK 37
9  9 jk 39

逗号表示您按行进行子集化。