У меня есть набор данных, в котором некоторые данные были отредактированы по соображениям конфиденциальности и заменены звездочками. R читает эти столбцы как символы, но я хочу, чтобы числа читались как числа и конвертировали звездочки в «NA».
Я могу легко конвертировать один столбец за раз, как это:
df$colname1 <- as.numeric(as.character(df$colname1))
Однако, когда я пытаюсь сделать много столбцов одновременно (начиная со столбца 4), у меня возникают проблемы.
Я просматривал похожие вопросы на этом форуме, но решения не помогли мне. Если я сделаю это:
df[,4:ncol(df)] <- lapply(df, function(x) as.numeric(as.character(x)))
... тогда я получаю два столбца, которые являются ничем иным, как NA.
Если я сделаю это:
for(i in c(4:ncol(df))) {
df[,i] <- as.numeric(as.character(df[,i]));
}
... тогда все столбцы - не что иное, как NA.
Любая помощь будет принята с благодарностью. Я новичок, поэтому, пожалуйста, объясните вещи просто.