【发布时间】:2022-07-23 04:25:54
【问题描述】:
我有一个 data.frame 包含一个因子列。我想(a)从data.frame 中删除该列中的值未出现在至少 8 行中的任何行,并且(b)从因子中删除这些级别。
在以下情况下,它将是因子 C、D 和 G。
> table(x.train$oilType)
A B C D E F G
30 21 3 6 9 8 2
据我所知,“droplevels”仅在根本不使用该因子时才有效。我试了一下,没有成功。
> droplevels(x.train$oilType[-c(C,D,G)])
Error in NextMethod("[") : object 'G' not found
有什么指导吗?
【问题讨论】:
-
使用 c("C", "D", "G") 而不是 C,因为 C 是一个对象,而 "C" 是一个字符串/向量
-
我认为您不想删除因素...我认为您想删除级别和这些级别的相应行,对吗?
-
@socialscientist 是的,这是正确的