我必须自动导入许多数据集,第一列是名称,所以是字符向量,第二列是数字向量,所以我将这些规范与 read.table 一起使用: colClasses = c("character", "numeric ”)。
如果我有一个像这样保存在 df_file 中的数据框,这很好用:
df<- data.frame(V1=c("s1","s2","s3","s4"), V2=c("1e-04","1e-04","1e-04","1e-04")
read.table(df_file, header = FALSE, comment.char="", colClasses = c("character", "numeric"), stringsAsFactors=FALSE)
问题是在某些情况下,我在第二列中有具有指数形式的数值的数据框,在这些情况下,导入不起作用,因为它不能将该列识别为数字(或者如果我将其作为“字符”导入不要指定 colClasses),所以我的问题是:即使值是指数的,如何指定要作为数字导入的列?
例如:
df<- data.frame(V1=c("s1","s2","s3","s4"), V2=c("10^(-4)","10^(-4)","10^(-4)","10^(-4)"))
我希望将所有指数值作为数字导入,但即使我在导入后尝试从字符更改为数字,我也会得到所有“NA”(as.numeric(as.character(df$V2))“警告消息: 强制引入的 NA")
我也尝试将“真实”或“复杂”与 colClasses 一起使用,但它仍然将指数作为字符导入。
请帮忙,谢谢!