将第 22-300 列从双精度(或其他类型)更改为数字

Changing Columns 22-300 from double (or other type) into numeric

我有一个庞大的数据集,有些列是文本。导入 Excel 文件并使用预览后,我可以手动将前 50 列更改为数字(如果适用)。但是,还有 250 列我需要更改为数字。我如何使用 R 代码将第 22 列到第 300 列的所有列更改为数字?

我们可以使用type.convert(假设列是character class)

df1[22:300] <- type.convert(df1[22:300], as.is = TRUE)

还有 mutate_at 来自 dplyr

library(tidyverse)
df1 %>%
     mutate_at(22:300, type_convert)

一种方式:

mydf[22:300] <- lapply(mydf[22:300], as.numeric)