我想使用更改列的因子级别setattr.但是,当选择标准data.table方式(dt[ , col])的列时,levels不会更新.另一方面,当在data.table设置中以非正统方式选择列时- 即使用$-it工作.
library(data.table)
# Some data
d <- data.table(x = factor(c("b", "a", "a", "b")), y = 1:4)
d
# x y
# 1: b 1
# 2: a 2
# 3: a 3
# 4: b 4
# We want to change levels of 'x' using setattr
# New desired levels
lev <- c("a_new", "b_new")
# Select column in the standard data.table way
setattr(x = d[ …Run Code Online (Sandbox Code Playgroud)