R:rowSums的总和减一

Pau*_*ker 1 csv r

对于我的统计课程,我使用R来为我的学期项目做一些数学运算.班级没有要求它,但我想通过学习R来补充自己,这是我较弱的语言.

使用这些数据:skittle-data.csv(每一行都是每个学生提交的一个单独的吃喝玩乐包)

我正在尝试生成一些图表和其他东西来满足作业.在这样做的同时,我注意到在确定我被关闭的吃喝玩乐总数时减少了1.

当我将csv加载到数据帧中时,我会对行进行求和,然后对这些求和求和以得到总和,如下所示:

skittles = read.csv("skittle-data.csv", header = TRUE)
columnTotals = colSums(skittles, na.rm=FALSE, dims = 1)
rowTotals = rowSums(skittles, na.rm=FALSE, dims = 1)
total = sum(rowTotals, na.rm=FALSE, dims = 1)

print("Column Totals")
print(columnTotals)

print("Row Totals (individual bags)")
print(rowTotals)

print('Total skittles')
print(total)
Run Code Online (Sandbox Code Playgroud)

从我的终端输出运行我的代码:

[1] "Column Totals"
   Red Orange Yellow  Green Purple
   269    289    296    295    300
[1] "Row Totals (individual bags)"
 [1] 62 62 60 60 60 62 59 61 57 59 62 59 59 62 64 62 63 61 60 60 58 59 60 58
[1] "Total skittles"
[1] 1450
Run Code Online (Sandbox Code Playgroud)

然而excel显示,吃喝玩乐的总数是1449.

skittle数据 -  excel文件

这显然是我的用户错误,但是我的错误是什么?从概念上讲,我认为我已经正确地做到了这一点,所以我可以承担的唯一的事情是,我误解的求和函数的一些部分(colSums,rowSums或sum等)

leb*_*noz 6

这是dims = 1参数sum.何时x = c(1,1),然后sum(x)给你2,但sum(x, dims = 1)等于3.关于该参数的一些东西给予额外的+1.


小智 5

您的错误源于您的sum功能:

total = sum(rowTotals, na.rm=FALSE, dims = 1)
Run Code Online (Sandbox Code Playgroud)

它将解释dims = 1为要添加的数字.删除它,它将按预期工作.