我对R非常陌生,我有一个从文件中读取的大型数据帧.其中的数据列包含的数据都是"普通"字符串,如"冰岛",但也有包含数字但作为字符串的列,如"25.1".有没有办法把所有只有数字的字符串都转换成数字?
我知道如何处理一列:var <- as.numeric(dataFrame$var)
列,但这并不是很有效,因为我的数据框有大约160列.
我try 按如下方式转换整个数据帧,但不起作用:
DF2 <- lapply(DF1, function(x) {
ifelse(!is.na(suppressWarnings(as.numeric(x))), as.numeric(as.character(x)), x)
})
测试包含DF2$colName
的列将返回"字符",而不是"数字".这似乎也将数据帧变成了一个列表.
顺便说一句,我已经使用read.csv()
读入了数据帧,除了文件名之外没有任何参数.此外,列不混合类型,要么全是普通字符串,要么全是数字字符串.
谢谢!