修改因子級別和其他列屬性
# 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
時通常會產生的副本,但它也會跳過一些檢查,因此請務必小心分配有效的級別向量。