DATA = data.table(col_1 = factor(c("A", "B", "C", "C", "B", "A", "C")),
col_2 = factor(c("stuff", NA, NA, "stuff", NA, "different_stuff", NA)))
我有一个大数据集,其中我想用新的因子级别替换NAs
中的col2
,它对应于C
中的col1
,例如yet_another_stuff
。 NAs
的数量多于C
级别的观测值,我不想替换NAs
等其他级别的B
。
上传此数据集后,列已属于类别因子。
由于数据集的大小,我非常希望使用data.table
软件包来这样做。
答案 0 :(得分:0)
我们可以在i
中指定逻辑条件,并在'col_2'中分配与'yet_another_stuff'条件对应的那些值
DATA[is.na(col_2) & col_1 == "C", col_2 := "yet_another_stuff"]