подмножество / удалить data.frame со значением вектора в r - PullRequest
2 голосов
/ 03 декабря 2011

Небольшой пример

 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 Ответ

4 голосов
/ 03 декабря 2011

Вы просто пропустили запятую:

B[B$JK %in% A,]

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

Запятая указывает на то, что вы разделяете строки.

...