如何在 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
广告