按名称更改 data.tables 中的因子水平
Change factor levels in data.tables by name
我明白当我明确定义列名称时如何更改列的级别,就像 Matt Dowle 的这个示例中那样:
setattr(mydt$value,"levels",c(...))
虽然,在现实生活中的问题中,你往往不知道列名。当代码中未明确给出 "value" 时,此技术似乎不起作用:
setattr(mydt[,get("value")],"levels",c(...))
这是个问题。我想这个语法通过复制给我列而不是对列的引用,这与 mydt$value 相反,但我不知道如何解决这个问题 :'(
谢谢
请看this older question
这可行:
setattr(mydt[["value"]],"levels",c(...))
我明白当我明确定义列名称时如何更改列的级别,就像 Matt Dowle 的这个示例中那样:
setattr(mydt$value,"levels",c(...))
虽然,在现实生活中的问题中,你往往不知道列名。当代码中未明确给出 "value" 时,此技术似乎不起作用:
setattr(mydt[,get("value")],"levels",c(...))
这是个问题。我想这个语法通过复制给我列而不是对列的引用,这与 mydt$value 相反,但我不知道如何解决这个问题 :'(
谢谢
请看this older question
这可行:
setattr(mydt[["value"]],"levels",c(...))