在过滤/子集化之后,Data.frame成为因子/向量

时间:2011-02-02 18:20:58

标签: r dataframe

我有一个包含一列的data.frame,如下所示:

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

然后我通过排除向量中也存在的所有项目来过滤它。 e.g:

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

这里发生了什么?

1 个答案:

答案 0 :(得分:11)

欢迎来到R.你刚被drop烦恼所困扰:你需要明确地告诉R不要“掉到一维”:

res = d[!(d$animal %in% c("horse")), , drop = FALSE]