我尝试读取从下载的 csv 文件here https://d396qusza40orc.cloudfront.net/repdata%2Fdata%2FStormData.csv.bz2
我用下面的代码阅读
storm_data = read.csv('./data/repdata/StormData.csv',sep=",", stringsAsFactors=F)
它返回 692288 个观测值和一条错误消息
Warning message:In scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
EOF within quoted string
结果是错误的,因为列值相互混合。
然后我尝试了 read.table 方法
storm_data = read.table('./data/repdata/StormData.csv',sep=",", head=T, stringsAsFactors=F)
它返回一条错误消息
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
line 547364 did not have 37 elements
我从 547364 中选取相邻的行并读入一个单独的文本文件,它读取正常。所以问题并不真正在那里,而是在上面的某个地方。
最后,我尝试用 excel 阅读它,它读起来很好(我的 coursera TA 也用 read.csv 阅读)。运行正常,得到 903871 行。
我完全不知道如何调试脚本。
这是我的环境信息。
我的R版本是3.1.1,Rstudio版本是0.98.1028。(32位),操作系统是win 8.1(64位)。
PS:我尝试了所有有关堆栈溢出的相关方法,但都不起作用。如果我设置 quote="",行就会错误。 fread 不起作用,因为我在 csv 文件中得到了 \" 。