gpt4 book ai didi

r - 如何使用data.table删除表中未使用的级别?

转载 作者:行者123 更新时间:2023-12-04 18:39:50 26 4
gpt4 key购买 nike

考虑以下 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)

一个包含所有未使用级别的巨大 table 出现了。 table有办法吗?方法或 data.table去做这个?

我知道以下是可能的:
x$y <- factor(x$y)

但这没有用,因为我不想将每个子表保存到不同的变量中。

最佳答案

您可以使用 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

关于r - 如何使用data.table删除表中未使用的级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28881887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com