[英]Reading Tab Delimited Data in to R
我试图读取一个大的制表符分隔文件到R.
首先我尝试了这个:
data <- read.table("data.csv", sep="\t")
但它正在读取一些数字变量作为因素
所以我尝试根据我希望每个变量的类型读取数据:
data <- read.table("data.csv", sep="\t", colClasses=c("character","numeric","numeric","character","boolean","numeric"))
但是当我尝试这个时它会给我一个错误:
扫描错误(文件,什么,nmax,sep,dec,quote,skip,nlines,na.strings,:scan()预期'真实',得到'“4”'
我想可能是原始文件中的某些数值有引号,但我不确定。
在没有看到您的数据的情况下,您有以下几点之一:您没有将所有数据分开; 在单个观察中有嵌入的标签; 或者其他人。
你可以options(stringsAsFactors=FALSE)
进行排序的方法是设置options(stringsAsFactors=FALSE)
然后使用你的第一行。
检查str(data)
并尝试找出哪些行是罪魁祸首。 一些数值作为因子读取的原因是因为该列中有一些东西将R解释为一个字符,因此它将整个列强制转换为字符。 它通常需要一些挖掘,但问题几乎肯定与您的输入文件有关。
这是一个常见的数据问题,祝你好运!
x <- paste("'",floor(runif(10,0,10)),"'",sep="")
x
[1] "'7'" "'3'" "'0'" "'3'" "'9'" "'1'" "'4'" "'8'" "'5'" "'8'"
as.numeric(gsub("'", "",x))
[1] 7 3 0 3 9 1 4 8 5 8
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.