考虑以下data.table
:
x <- data.table(
x=sample(letters[1:5],10,rep=T),
y=factor(sample(letters[1:5],10,rep=T), levels=letters))
使用data.table
s时会出现这种情况,其中一些因子字段具有未使用的变量。
现在,如果我们使用下表:
table(x)
显示所有未使用级别的巨型表格。
在[{1}}方法或table
中有没有办法做到这一点?
我知道以下是可能的:
data.table
但这没用,因为我不想将每个子表保存到不同的变量。
答案 0 :(得分:5)
您可以按如下方式使用droplevel
x[,y:=droplevels(y)]
这会通过引用y
droplevels(y)
结果
> table(x)
y
x b c d e
a 1 1 1 2
b 0 1 0 0
c 1 0 0 0
d 1 0 0 0
e 0 0 2 0