如何在 R 資料框列中查詢每 n 個值的總和?


為了找到 R 資料框列中每 n 個值的總和,我們可以使用 rowsum 函式以及 rep 函式,該函式將重複行的總和。例如,如果我們有一個名為 df 的資料框,其中包含 4 列,每列包含 20 個值,那麼我們可以使用命令 rowsum(df,rep(1:5,each=4)) 找到每 5 行的列總和。

示例

考慮以下資料框 -

 線上演示

x1<-rpois(20,5)
x2<-rpois(20,2)
df1<-data.frame(x1,x2)
df1

輸出

   x1 x2
1  7  3
2  9  4
3  7  3
4  3  3
5  9  1
6  4  1
7  7  3
8  4  3
9  6  3
10 5  0
11 4  4
12 5  4
13 5  1
14 6  2
15 1  3
16 1  2
17 6  1
18 6  2
19 1  2
20 8  2

在 df1 中查詢每 5 行的列總和 -

示例

rowsum(df1,rep(1:5,each=4))

輸出

  x1 x2
1 26  13
2 24   8
3 20  11
4 13   8
5 21   7

示例

 線上演示

y1<-rnorm(20)
y2<-rnorm(20)
y3<-rnorm(20)
df2<-data.frame(y1,y2,y3)
df2

輸出

      y1           y2           y3
1  -0.46478980   0.61742170  -0.21406143
2   1.42820694  -1.68668632  -1.69183062
3  -1.09014651  -0.80538397  -1.73060665
4   0.04143155  -0.86250648  -0.50698176
5   1.31066192   1.98317492   0.81144732
6   1.05362995   1.31032857  -0.48538293
7   1.13221772   3.27862204  -1.42116882
8  -2.30864576  -0.02998736  -0.35898649
9  -1.30371212   0.26152070  -0.25968593
10 -0.93208053   0.59726153   0.31393063
11  0.23612475   1.72240765  -2.21882009
12  0.58740869   0.53739269   0.52578465
13  0.42427296  -0.84617072  -0.35684917
14 -0.33885432   0.09297437  -0.61340922
15 -0.40246042  -0.94370468   0.01108134
16 -0.97853686   1.08559425   0.71596796
17  0.28577367  -0.57999260  -0.14349388
18 -0.78154458  -2.40582173   2.50692776
19  0.05791671   0.94479521   0.79723502
20 -0.03289249  -1.46621425  -0.89169830

示例

在 df2 中查詢每 5 行的列總和 -

rowsum(df2,rep(1:5,each=4))

輸出

        y1          y2          y3
1  -0.08529781  -2.7371551  -4.1434804
2   1.18786383   6.5421382  -1.4540909
3  -1.41225921   3.1185826  -1.6387907
4  -1.29557865  -0.6113068  -0.2432091
5  -0.47074670  -3.5072334   2.2689706

更新於: 2021-03-16

3K+ 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告