У меня большой набор данных с ~ 200 столбцами разных типов. Мне нужно заменить NA
значения на ""
, но только в символьных столбцах.
Использование фиктивной таблицы данных
DT <- data.table(x = c(1, NA, 2),
y = c("a", "b", NA))
> DT
x y
1: 1 a
2: NA b
3: 2 <NA>
> str(DT)
Classes ‘data.table’ and 'data.frame': 3 obs. of 2 variables:
$ x: num 1 NA 2
$ y: chr "a" "b" NA
Я пробовал следующий цикл for с условием, но он не работает.
for (i in names(DT)) {
if (class(DT$i) == "character") {
DT[is.na(i), i := ""]
}
}
Цикл работает без ошибок, но не меняет DT
.
Ожидаемый вывод, который я ищу, таков:
x y
1: 1 a
2: NA b
3: 2
Решение не обязательно должно включать цикл, но я не мог придумать один.