我很难让R读取包含撇号的.txt或.csv文件。
我的一些专栏包含描述性文字,例如“出于客户的需求”或“警长的副手”。我的文件在Excel中正确打开(即,所有数据都显示在正确的单元格中;有3列和大约8000行,并且没有丢失的数据)。但当我要求R读取文件时,会发生这种情况:
data <-read.table("datafile.csv", sep=",", header=TRUE)
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
line 520 did not have 3 elements
(520行是包含撇号的第一行。)
如果我进入.txt或.csv文件并手动删除所有撇号,则R会正确读取文件。但是,如果可以,我宁愿保留撇号。
我是R的新手,非常感谢任何帮助。
答案 0 :(得分:34)
默认情况下,read.table
会将单引号和双引号视为引号。您需要在quote="\""
电话中添加read.table
。或者,您可以使用read.csv
,默认情况下只会将双引号视为引号。
答案 1 :(得分:8)
彻底研究中的选项?read.table从长远来看会有所回报。引用字符的默认值是quote =“\”'“,在R解析表达式,单引号和双引号之后,实际上只有两个字符。您可以使用quotes=NA
将它们从考虑中移除。它是有时还需要删除'comment.char'默认为“#”,将'as.is'更改为TRUE可能有助于防止字符串转换为因子。
答案 2 :(得分:1)
设置参数quote =&#34; \\&#34;在read.table应该做的伎俩。