在至R读取制表符分隔的数据(Reading Tab Delimited Data in to R)

2019-07-30 15:47发布

我想读一个大的制表符分隔的文件中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”'

我想可能是有周围的一些在最初的原始文件的数值的报价,但我不知道。

Answer 1:

没有看到你的数据,你有几件事情之一:你不必所有选项卡分离的数据; 有在单个观测嵌入式凸片; 或他人的litnay。

你可以排序了这一点的方法是设置options(stringsAsFactors=FALSE)然后用你的第一道防线。

退房str(data) ,并试图找出哪些行是罪魁祸首。 一些数值正在阅读的因素的原因是因为有东西在该列的R将其解释为一个字符,所以它强制转换的整列字符。 它通常需要一些挖掘,但问题是几乎可以肯定你的输入文件。

这是一个常见的数据改写(munging)的问题,祝你好运!



Answer 2:

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


文章来源: Reading Tab Delimited Data in to R