如何为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和RowMeans中的列Group创建新数据框,以获取x1,x2和x3列的平均值-

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和RowMeans一样,使用列Group创建新的数据框,以获取x2和x3的平均值,即3和4-

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
猜你喜欢