Data.frame становится фактором / вектором после фильтрации / поднабора - PullRequest
8 голосов
/ 02 февраля 2011

У меня есть data.frame с одним столбцом, например:

>d = data.frame(animal=c("horse","dog","cat"))

, затем я фильтрую его, исключая все элементы, также присутствующие в векторе.Например:

> res = d[!(d$animal %in% c("horse")),]
> res
[1] dog cat
Levels: cat dog horse
>class(res)
[1] "factor"

Что здесь происходит?

1 Ответ

11 голосов
/ 02 февраля 2011

Добро пожаловать в R. Вас только что укусило раздражение drop: вам нужно явно сказать R не «переходить в одно измерение»:

res = d[!(d$animal %in% c("horse")), , drop = FALSE] 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...