我想读一个大的制表符分隔的文件中R.
首先,我想这:
data <- read.table("data.csv", sep="\t")
但读了一些数字变量作为因素
所以,我想在基于什么类型我想每一个变量是这样的数据如下:
data <- read.table("data.csv", sep="\t", colClasses=c("character","numeric","numeric","character","boolean","numeric"))
但是,当我尝试这一点,给我一个错误:
错误扫描(文件,什么,n最大,九月,十二月,报价,跳过,nlines,na.strings,:扫描()预计 '真正的',得到了 ' “4”'
我想可能是有周围的一些在最初的原始文件的数值的报价,但我不知道。
没有看到你的数据,你有几件事情之一:你不必所有选项卡分离的数据; 有在单个观测嵌入式凸片; 或他人的litnay。
你可以排序了这一点的方法是设置options(stringsAsFactors=FALSE)
然后用你的第一道防线。
退房str(data)
,并试图找出哪些行是罪魁祸首。 一些数值正在阅读的因素的原因是因为有东西在该列的R将其解释为一个字符,所以它强制转换的整列字符。 它通常需要一些挖掘,但问题是几乎可以肯定你的输入文件。
这是一个常见的数据改写(munging)的问题,祝你好运!
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