我有一个简单的csv文件,其中大约有20K +值,用逗号分隔。当我尝试在R中加载值时,它给出了错误:
r:3: unexpected numeric constant
这是我执行的R的简单命令
someThing <- c(0.080172405,0.06233087,0.04315185,0.0652015,0.03201301.......n)
n= 70,000 values
我无法复制粘贴所有20K +值。我用Google搜索了这个错误,除了一些浮动值之外没有特殊字符或其他东西。
答案 0 :(得分:9)
第5682条是"0.0733 7422182"
,有空格。
我认为这是一个简单的数据处理问题。
答案 1 :(得分:8)
在文件的中途有一个换行符,这会导致该部分看起来像(用空格替换换行符),因此在空格之后会出现意外的数字常量。
... 0.0068243323,0.0733 7422182,0.07379706 ...
以下是我发现它的方式:
b <- scan(file, what=character(0))
length(b)
长度为2,而不是1。
可以像这样阅读:
b <- paste(b, collapse="")
b <- substring(b, 3, nchar(b)-1)
b <- strsplit(b,",")[[1]]
b2 <- as.numeric(b)