如何找到R数据框中前n行的列均值?

要找到 R 数据框中前 n 行的列均值,我们可以按照以下步骤操作 -

  • 首先,创建一个数据框。

  • 然后,通过使用矩阵函数和 nrow 参数读取数据框来使用 colMeans 函数。

示例 1

创建数据框

让我们创建一个数据框,如下所示 -

x<-rnorm(20)
df1<-data.frame(x)
df1

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

输出结果

      x
1 0.13032553
2 -0.67816114
3 1.42759471
4 -0.38436418
5 -0.61993704
6 1.44777262
7 0.04268727
8 0.48114764
9 -0.27875354
10 0.71026224
11 0.08441343
12 -0.03178720
13 0.69694108
14 -0.57978544
15 2.63039761
16 0.75607995
17 -0.12466369
18 1.03613577
19 -0.26832398
20 1.46741698

找到 n 行的列均值

在使用 10 行矩阵函数读取数据框 df1 后,使用 colMeans 函数查找列均值 -

例子

x<-rnorm(20)
df1<-data.frame(x)
colMeans(matrix(df1$x,nrow=10))

输出

[1] 0.2278574 0.5666825

例2

创建数据框

让我们创建一个数据框,如下所示 -

例子

y<-sample(1:10,20,replace=TRUE)
df2<-data.frame(y)
df2

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

输出

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

找到 n 行的列均值

在使用 18 行矩阵函数读取数据框 df2 后,使用 colMeans 函数查找列均值 -

例子

colMeans(matrix(df2$y,nrow=18))

输出

[1] 7.000000 6.944444
Warning message:
In matrix(df2$y, nrow = 18) :
   data length [20] is not a sub-multiple or multiple of the number of rows [18]