Если ваш фрейм данных (df) действительно содержит целые числа, кроме NA и мусора, то его преобразует следующий код:
df2 <- data.frame(lapply(df, function(x) as.numeric(as.character(x))))
Вы получите предупреждение о NA, введенных с помощью принуждения, но это только те строки нечисловых символов, которые превращаются в NA.
Следующий код также работает и более лаконичен, но работает медленнее.
df2 <- apply(df, 2, function(x) as.numeric(as.character(x)))
Если вы просто хотите преобразовать выбранные столбцы, вы можете использовать немного более сложную команду. Сначала вам нужно выяснить, какие столбцы вы хотите преобразовать. Возможно, вы сохраните их как логический вектор столбцов, которые хотите изменить.
df2 <- cbind(df[,!columnsToChange], apply(df[,columnsToChange], 2, function(x) as.numeric(as.character(x)))
Это выбило бы вещи из строя, но довольно легко дало бы вам то, что вы хотите.