如何找到R数据框列的修剪平均值?

修剪平均值是通过排除一小部分最小值和最大值来找到值的平均值的平均值。如果我们有 5% 的修剪平均值,这意味着从数据中修剪了 2.5% 的最小值和 2.5% 的最大值,然后计算剩余数据的平均值。

在 R 中,我们可以简单地在 mean 函数中使用 trim 参数来找到修剪后的均值。查看以下示例以了解如何完成。

示例 1

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

x<-rpois(20,10)
df1<-data.frame(x)
df1

创建了以下数据框

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

要在上面创建的数据框中的 df1 中找到列 x 的 5% 修剪平均值,请将以下代码添加到上面的代码段中 -

x<-rpois(20,10)
df1<-data.frame(x)
mean(df1$x,trim=0.05)
输出结果

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

[1] 9.722222

示例 2

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

y<-rnorm(20)
df2<-data.frame(y)
df2

创建了以下数据框

y
1 -0.2275112
2 -0.3068841
3 1.4224841
4  -0.2046823
5  -0.6992631
6   1.3496018
7  -1.3079773
8   1.7224761
9   0.4276027
10  0.7502251
11 -0.5527819
12  0.5962074
13 -1.4589839
14  1.8237570
15 -0.4459367
16  0.6482315
17  1.3998148
18 -0.7622238
19  1.1308999
20 -0.2575229

要在上面创建的数据框中的 df2 中找到 y 列的 5% 修剪平均值,请将以下代码添加到上面的代码段中 -

y<-rnorm(20)
df2<-data.frame(y)
mean(df2$y,trim=0.05)
输出结果

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

[1] 0.2601533

示例 3

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

z<-rexp(20)
df3<-data.frame(z)
df3

创建了以下数据框

           z
1  3.41614687
2  0.29851851
3  0.72436257
4  0.65434257
5  1.11213684
6  0.08191155
7  2.03424614
8  0.53371331
9  0.08343326
10 0.37775986
11 0.30124390
12 0.42210175
13 0.86609511
14 1.62482612
15 1.30000247
16 4.68351724
17 0.40375151
18 0.36646246
19 0.92898766
20 0.47307554

要在上面创建的数据框中的 df3 中找到列 z 的 5% 修剪平均值,请将以下代码添加到上面的代码段中 -

z<-rexp(20)
df3<-data.frame(z)
mean(df3$z,trim=0.05)
输出结果

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

[1] 0.8845115

猜你喜欢