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