按名称更改 data.tables 中的因子级别

问题描述 投票:0回答:2

当我显式定义列名称(如 Matt Dowle 的示例中所示)时,我了解如何更改列的级别:

setattr(mydt$value,"levels",c(...))

但是,在现实生活中的问题中,您通常不知道列名称。当代码中未明确给出“值”时,此技术似乎不起作用:

setattr(mydt[,get("value")],"levels",c(...))

这是一个问题。我想这个语法通过复制为我提供了列,而不是对该列的引用,这与 mydt$value 相反,但我不知道如何解决这个问题:'(

谢谢

请参阅这个旧问题

r data.table r-factor
2个回答
7
投票

这会起作用:

setattr(mydt[["value"]],"levels",c(...))

0
投票

我用过这个:

levels(mydt[["value"]]) = list(A = "1", B = "2", C = "3")
© www.soinside.com 2019 - 2024. All rights reserved.