如何從R資料框中建立包含某些列行均值的新資料框?
查詢行均值可以幫助我們識別所有變數性質相同的情況下案例的平均表現,這也很容易實現。但如果某些列具有不同型別的資料,則我們必須提取我們想要查詢行均值的列。因此,我們可以使用rowMeans函式建立一個包含所需列行均值的新資料框。
示例
考慮以下資料框:
set.seed(88) Group<-LETTERS[1:10] x1<-rpois(20,2) x2<-rpois(20,5) x3<-rpois(20,10) df<-data.frame(Group,x1,x2,x3) df
輸出
Group x1 x2 x3 1 A 2 3 10 2 B 0 6 7 3 C 3 7 9 4 D 2 8 9 5 E 6 8 9 6 F 8 6 4 7 G 0 4 5 8 H 3 7 10 9 I 3 5 11 10 J 5 4 10 11 A 2 3 9 12 B 3 7 8 13 C 2 6 6 14 D 1 4 7 15 E 0 7 12 16 F 1 8 9 17 G 0 5 11 18 H 2 6 9 19 I 3 7 5 20 J 3 9 6
建立一個新資料框,其中包含與原始df中的Group列相同以及x1、x2和x3列均值的RowMeans:
row_means_df<-data.frame(Group=df[,1],RowMeans=rowMeans(df[,-1])) row_means_df Group RowMeans 1 A 5.000000 2 B 4.333333 3 C 6.333333 4 D 6.333333 5 E 7.666667 6 F 6.000000 7 G 3.000000 8 H 6.666667 9 I 6.333333 10 J 6.333333 11 A 4.666667 12 B 6.000000 13 C 4.666667 14 D 4.000000 15 E 6.333333 16 F 6.000000 17 G 5.333333 18 H 5.666667 19 I 5.000000 20 J 6.000000
建立一個新資料框,其中包含與原始df中的Group列相同以及x2和x3列(即第3列和第4列)均值的RowMeans:
row_means_3.4_cols_df<-data.frame(Group=df[,1],RowMeans=rowMeans(df[,-c(1,2)])) row_means_3.4_cols_df Group RowMeans 1 A 6.5 2 B 6.5 3 C 8.0 4 D 8.5 5 E 8.5 6 F 5.0 7 G 4.5 8 H 8.5 9 I 8.0 10 J 7.0 11 A 6.0 12 B 7.5 13 C 6.0 14 D 5.5 15 E 9.5 16 F 8.5 17 G 8.0 18 H 7.5 19 I 6.0 20 J 7.5
廣告