小编Rus*_*l H的帖子

如何将数据框中的所有数字字符串转换为 R 中的数字?

我对 R 还很陌生,我有一个从文件中读取的大型数据帧。内部数据的列中的数据都是“正常”字符串,如“Iceland”,但也有包含数字但为字符串的列,如“25.1”。有没有办法将所有仅包含数字的字符串转换为数字?

我知道如何对一列执行此操作:var <- as.numeric(dataFrame$var)但这并不是很有效,因为我的数据框有大约 160 列。

我尝试按如下方式转换整个数据框,但它不起作用:

DF2 <- lapply(DF1, function(x) {
  ifelse(!is.na(suppressWarnings(as.numeric(x))), as.numeric(as.character(x)), x)
})
Run Code Online (Sandbox Code Playgroud)

测试列DF2$colName返回“字符”,而不是“数字”。这似乎也将数据框变成了列表。

作为旁注,我已使用read.csv()除文件名之外的任何参数读取数据帧。此外,列不混合类型,它要么都是普通字符串,要么都是数字字符串。

谢谢你!

r type-conversion dataframe

3
推荐指数
1
解决办法
497
查看次数

标签 统计

dataframe ×1

r ×1

type-conversion ×1