Поиск значений в R - PullRequest
1 голос
/ 09 ноября 2010

У меня есть следующие наборы данных в R:

> closed
 [1] 57637 31508 54113  2348  4747 68284 61779 36654 31399 54126 11232 60659 42968 56388  5114 66289 69491 45668   879 65649 71172 36120 61802  7699 70982
[26] 65720

> length(closed)
[1] 26

> stlist[1:5,]
          M.Type      M.Code                 M.Name    B.Code               B.Name          B.Region
1             5M        1759            Istanbul 5M    110007               Taksim               Ist
2             5M       62461              Edirne 5M    110007            Aysekadin               Ist
3             5M       69493            Tekirdag 5M    110431             Tekirdag               Ist
4             5M        7516              Ankara 5M    110548             Batikent               Ank
5             5M       14148               Bursa 5M    110351                Bursa               Ist

> nrow(stlist)
[1] 1830

Я хочу посмотреть все значения «closed» в «stlist $ M.Code» и создать новый фрейм данных, который включает в себя только строки с 26 «M.Code» со всеми 6 столбцами «stlist» , Как я могу это сделать?

Ответы [ 2 ]

4 голосов
/ 09 ноября 2010

используйте% в%:

stlist <- data.frame(
    M.Code = letters[1:10],
    b = rnorm(10)
)
closed <- c("a","d","f")

stlist[stlist$M.Code %in% closed,]
3 голосов
/ 09 ноября 2010

Альтернативой ответу Джориса является использование subset():

subset(stlist, subset = M.Code %in% closed)

Единственное существенное различие , которое я знаю между этими двумя понятиями, заключается в том, что subset() предполагает, что переменные, на которые ссылаются критерии, являются частью фрейма данных, если в данных существует переменная с таким именем Рамка. В этом примере это не имеет большого значения (всего один дополнительный 'stlist $'), но это сэкономит немного времени при наборе сложных критериев.

Может быть, кто-то еще знает о более тонкой разнице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...