修改因子級別和其他列屬性

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