阅读 198

如何找到R中n列的行明智总和?

通过使用 rowSums 函数以及使用单个方括号对列进行子集,可以找到 n 列的行明智总和。

例如,如果我们有一个名为 df 的数据框,它包含五列,并且我们想要找到最后三列的行总和,那么我们可以使用以下命令 -


df$Sum_3<-rowSums(df[,3:5])


示例 1

以下代码段创建了一个示例数据框 -


x1<-round(rnorm(20),2)x2<-round(rnorm(20),2)x3<-round(rnorm(20),2)df1<-data.frame(x1,x2,x3)df1


创建以下数据框 -


    x1     x2    x31  -0.66  1.01  -0.442  -2.05 -0.47   0.423   1.11  1.47   1.044  -2.55 -0.42  -0.465  -0.50 -1.98  -0.416  -2.16 -0.34  -0.557   0.29 -0.58   0.428  -0.67  1.71  -0.869  -0.93  0.00   0.0010  0.30 -0.87   0.2711  1.27 -1.60  -0.4912  0.73  1.16  -1.2413 -0.71  0.20  -1.1814 -0.31  1.16   0.2415 -0.76  0.86  -0.7016  1.11 -0.25  -0.4817 -0.88 -0.43   0.1018  0.50 -2.05   0.3619 -0.30  0.56  -0.9720 -1.76 -1.39   1.10


要查找列 x2 和 x3 的行总和,请将以下代码添加到上述代码段中 -


x1<-round(rnorm(20),2)
x2<-round(rnorm(20),2)
x3<-round(rnorm(20),2)
df1<-data.frame(x1,x2,x3)
df1$Sum_x2_x3<-rowSums(df1[,2:3])
df1

输出结果


如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -


     x1    x2    x3   Sum_x2_x31  -0.66  1.01 -0.44  0.572  -2.05 -0.47  0.42 -0.053   1.11  1.47  1.04  2.514  -2.55 -0.42 -0.46 -0.885  -0.50 -1.98 -0.41 -2.396  -2.16 -0.34 -0.55 -0.897   0.29 -0.58  0.42 -0.168  -0.67  1.71 -0.86  0.859  -0.93  0.00  0.00  0.0010  0.30 -0.87  0.27 -0.6011  1.27 -1.60 -0.49 -2.0912  0.73  1.16 -1.24 -0.0813 -0.71  0.20 -1.18 -0.9814 -0.31  1.16  0.24  1.4015 -0.76  0.86 -0.70  0.1616  1.11 -0.25 -0.48 -0.7317 -0.88 -0.43  0.10 -0.3318  0.50 -2.05  0.36 -1.6919 -0.30  0.56 -0.97 -0.4120 -1.76 -1.39  1.10 -0.29


示例 2

以下代码段创建了一个示例数据框 -


y1<-rpois(20,1)y2<-rpois(20,5)y3<-rpois(20,2)y4<-rpois(20,2)df2<-data.frame(y1,y2,y3,y4)df2


创建以下数据框 -


   y1 y2 y3 y41  1  6  2  22  1  4  1  03  1  6  0  24  2  9  4  25  0  7  1  26  1  5  1  17  2  0  3  28  1  2  5  19  1  6  1  510 0  3  1  211 1  4  2  312 1  7  3  113 0  8  1  214 1  5  2  315 0 10  3  016 2  2  1  217 3  5  4  218 0  6  2  119 2  2  3  120 0  6  1  2


要查找列 y1 和 y2 的行总和,请将以下代码添加到上述代码段中 -


y1<-rpois(20,1)
y2<-rpois(20,5)
y3<-rpois(20,2)
y4<-rpois(20,2)
df2<-data.frame(y1,y2,y3,y4)
df2$Sum_y1_y2<-rowSums(df2[,1:2])
df2

输出结果


如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -


   y1 y2 y3 y4 Sum_y1_y21  1  6  2  2   72  1  4  1  0   53  1  6  0  2   74  2  9  4  2  115  0  7  1  2   76  1  5  1  1   67  2  0  3  2   28  1  2  5  1   39  1  6  1  5   710 0  3  1  2   311 1  4  2  3   512 1  7  3  1   813 0  8  1  2   814 1  5  2  3   615 0 10  3  0  1016 2  2  1  2   417 3  5  4  2   818 0  6  2  1   619 2  2  3  1   420 0  6  1  2   6


文章分类
百科问答
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐