У меня есть фрейм данных (df), в котором некоторые переменные / столбцы имеют категориальные значения, другие являются числовыми, и оба типа имеют пробелы и NA. Я хочу создать цикл, который всякий раз, когда он находит «Да» в каждом столбце фрейма данных, изменяет его на 1, а «Нет» на 0, но без изменения ни NA, ни пробелов.
Я читал, как изменить его вручную, выполнив такие действия:
df$variable[df$variable == "No"] <- 0
df$variable[df$variable == "Yes"] <- 1
# or
df$variable <- ifelse(df$variable == 'No', 0, 1)
но дело в том, что мой df имеет размеры 10000 x 1000, а более 400 переменных являются категориальными.
И я знаю, что в цикле я не могу использовать ifelse()
, потому что это меняет пробелы на 1; кроме того, у меня нет идей, как создать цикл.