如何对我的数据集的某些行的列进行求和?

时间:2014-04-10 15:47:04

标签: r sum row

我正在尝试使用colSums对列进行求和。所以我将data.frame转换为矩阵,以便值为数字,但是当我这样做时,值会改变。

考虑这个data.frame例如 -

 X1 X2   X3   X4   X5   X6   X7   X8   X9  X10  X11 X12  X13  X14  X15  X16 X17 X18 X19 X20
 1 <NA>  0    0    0    0    0    0    0    0    0    0   0    0    0    0    1   0   0   0   0   0   0
 2 <NA>  0   0 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>   0 <NA>    0 <NA> <NA>   0   0   0   0   0   0
3    0  0 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>    0   0    0 <NA>    0    0   0   0   0   0   0   0
4    0  0    0    0    0    0    0    0    0    0    0   0    0    0    0    0   0   0   0   0   0   0
5    0  0    0    0    0    0    0    0    0    0    0   0    0    0    0    0   0   0   0   0   0   0
6 <NA>  0    0    0    0    0    0    0    0    0    0   0    0    0    0    0   0   0   0   0   0   0

(抱歉草率格式化) 成为这个data.matrix:

  X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22
1 NA  1  1  1  1  1  1  1  1   1   1   1   1   1   1   2   1   1   1   1   1   1
2 NA  1  1 NA NA NA NA NA NA  NA  NA   1  NA   1  NA  NA   1   1   1   1   1   1
3  1  1 NA NA NA NA NA NA NA  NA   1   1   1  NA   1   1   1   1   1   1   1   1
4  2  2  2  2  2  2  2  2  2   2   2   2   2   2   2   3   2   2   2   2   2   2
5  2  2  2  2  2  2  2  2  2   2   2   2   2   2   2   3   2   2   2   2   2   2
6 NA  1  1  1  1  1  1  1  1   1   1   1   1   1   1   1   1   1   1   1   1   1

这就是我的代码:

dat=read.xlsx("data",1)
datat=t(CWA2.3)
df=data.frame(datat[c(9,12,15,18,21,24),])
dm=data.matrix(LaughCWA2.3)
dm

对不起,如果我犯了一个失礼;我是R的新手,这是我第一次发帖。

提前致谢。

1 个答案:

答案 0 :(得分:1)

如果您想对各列求和(即每行一个总和),那么您希望使用rowSums,而不是colSums。要从输出中删除这些缺失值,请将选项na.rm设置为TRUE

rowSums(dm, na.rm=TRUE)

有关此功能的详细信息,请参阅其R文档here

欢迎来到StackOverflow并祝你好运! : - )