data.table(month=month.abb[1:5],act=letters[1:5],col1=(1:5)^2, col2=(5:9)^3)
dtB <- data.table(month=month.abb[3:4],act=letters[3:4],col1=(6:7)^3)
setkey(dtA, month,act)
setkey(dtB, month,act)
dtA[1, col1 := NA]
dtA[dtB, col1 := i.col1]
Этот код меняет все значения в dtA по ключу. А как запилить замену только значения NA в col1? В 2 действия легко делается (с добавлением нового столбца со значениями на замену, затем is.na(col1) и частичное присваивание по ссылке)
ну вот сам пока до такого додумался dtA[dtA[is.na(col1)][dtB, nomatch = 0], col1 := i.col1]
Обсуждают сегодня