修改因子级别和其他列属性
# example data
DT = data.table(iris)
要通过引用修改因子级别,请使用 setattr
:
setattr(DT$Species, "levels", c("set", "ver", "vir")
# or
DT[, setattr(Species, "levels", c("set", "ver", "vir"))]
第二个选项可能会将结果打印到屏幕上。
使用 setattr
时,我们避免了在执行 levels(x) <- lvls
时通常会产生的副本,但它也会跳过一些检查,因此请务必小心分配有效的级别向量。