根据 data.table 中的某些匹配替换列的某些值

时间:2021-02-17 17:45:21

标签: r data.table

假设我有以下 data.table

library(data.table)
DT = data.table(Col1 = LETTERS[1:10], Col2 = c(1,4,2,3,6,NA,4,2, 5, 4))
DT 

    Col1 Col2
 1:    A    1
 2:    B    4
 3:    C    2
 4:    D    3
 5:    E    6
 6:    F   NA
 7:    G    4
 8:    H    2
 9:    I    5
10:    J    4

现在我想用 4 and NA

替换 Col2 中的 999

在实际场景中,我有非常大的 DT,因此我正在寻找实现相同目标的最有效方法。

任何见解将不胜感激。

1 个答案:

答案 0 :(得分:1)

带有 na_if/replace_na 的选项

library(dplyr)
library(data.table)
DT[, Col2 := replace_na(na_if(Col2, 4), 999)]
相关问题