我正在尝试根据同一列的值更新选定行的列。此列包含“1”,“2”,......“10”,“11”中的字符。我想要做的是将11个类别合并为3.所以我的代码看起来像
library(data.table)
DT <- data.table(col = as.character(1:11))
DT[col %in% c('1','2','3'), col := '3']
DT[col %in% c('4','5','6','7','8'), col := '2']
DT[col %in% c('9','10','11'), col := '1']
奇怪的是,最后一行不起作用。 '10'和'11'没有更新。当我将'c'更改为list(代码下方)时,它似乎有效。但我不知道为什么会这样。
DT[col %in% list('9','10','11'), col := '1']
任何帮助将不胜感激。