我正在使用R中的CSV文件格式数据。列中有315行,名为itemsDispensed。我想计算这些数字的总和。
我试过在R中做sum(as.numeric(as.character(....)))然而我得到的结果与我在excel中做的总和不同。
下面的代码显示前20行:
head(select2014Chap6Sec1[ ,4], n = 20)
[1] 11.615 0.001 0.023 0.026 56.101 7.127 8.572 0.004 0.001 45.98 225.525 0.526
[13] 119.999 0.004 0.522 4.781 31.473 0.001 2.338 0.712
6999 Levels: 0 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.01 0.011 0.012 0.013 ... 999.958
我使用的方法如下所示:
> sum(select2014Chap6Sec1[ ,4])
[1] 778211
sum的误差(as.numeric(as.character(....)))显示如下NA值:
> sum(as.numeric(as.character(testFactorCol4)))
[1] NA
Warning message:
NAs introduced by coercion
如果您想使用dput方法,我可以提供所有数据。 谢谢
答案 0 :(得分:1)
执行read.csv
时,请尝试设置参数stringsAsFactors=FALSE
。或者,您可以使用参数colClasses
,如果第一列是字符,第二列是整数,第三列是数字,您可以执行read.csv("file.csv", colClasses=c("character", "integer","numeric"))
之类的操作。
具体来说,听起来你有一个R猜测的列是一个"因素",所以你应该将该列设置为"数字"在colClasses
。
一旦他们被读入R,这可能会让你省去一些麻烦。