如何根据R数据框中的单个组值找到平均值?
要根据 R 数据框中的单个组值找到均值,我们可以使用均值函数,通过单个方括号进行子集化。
例如,如果我们有一个名为 df 的数据框,其中包含一个分类列 C 具有三组低、中、高和一个数字列说 Num,那么可以使用下面给出的命令找到中组的 Num 平均值 -
mean(df$C[df$Num=="Medium"])
示例 1
以下代码段创建了一个示例数据框 -
Group<-sample(LETTERS[1:4],20,replace=TRUE)Score<-rpois(20,5)
df1<-data.frame(Group,Score)
df1
创建以下数据框 -
Group Score1 D 7
2 D 6
3 D 3
4 B 5
5 C 7
6 A 2
7 D 7
8 D 5
9 C 1
10 C 6
11 C 9
12 D 3
13 C 6
14 B 8
15 C 2
16 B 6
17 D 7
18 C 8
19 A 12
20 B 3
要获得 A 组得分的平均值,请将以下代码添加到上述代码段中 -
Group<-sample(LETTERS[1:4],20,replace=TRUE)输出结果Score<-rpois(20,5)
df1<-data.frame(Group,Score)
mean(df1$Score[df1$Group=="A"])
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
[1] 7
示例 2
以下代码段创建了一个示例数据框 -
Class<-sample(c("I","II","III"),20,replace=TRUE)Price<-sample(10:20,20,replace=TRUE)
df2<-data.frame(Class,Price)
df2
创建以下数据框 -
Class Price1 II 19
2 I 15
3 I 14
4 I 19
5 III 13
6 I 17
7 III 12
8 I 10
9 II 18
10 II 11
11 II 13
12 I 11
13 II 12
14 III 11
15 II 13
16 II 15
17 III 10
18 I 17
19 III 18
20 I 14
要获得 I 类价格的平均值,请将以下代码添加到上述代码段中 -
Class<-sample(c("I","II","III"),20,replace=TRUE)输出结果Price<-sample(10:20,20,replace=TRUE)
df2<-data.frame(Class,Price)
mean(df2$Price[df2$Class=="I"])
如果您将上述所有给定的代码片段作为单个程序执行,它会生成以下输出: -
[1] 14.625
示例 3
以下代码段创建了一个示例数据框 -
Category<-sample(c("First","Second","Third","Fourth"),20,replace=TRUE)Sales<-sample(10:50,20)
df3<-data.frame(Category,Sales)
df3
创建以下数据框 -
Category Sales1 First 49
2 Fourth 43
3 Second 44
4 Third 35
5 Fourth 21
6 Third 50
7 First 45
8 Fourth 15
9 Second 20
10 First 11
11 First 17
12 Fourth 37
13 Third 48
14 Second 32
15 Fourth 10
16 Fourth 38
17 First 40
18 First 22
19 Second 25
20 First 47
要获得 Group First 的 Sales 平均值,请将以下代码添加到上述代码段中 -
Category<-sample(c("First","Second","Third","Fourth"),20,replace=TRUE)输出结果Sales<-sample(10:50,20)
df3<-data.frame(Category,Sales)
mean(df3$Sales[df3$Category=="First"])
如果您将上述所有给定的代码片段作为单个程序执行,它会生成以下输出: -
[1] 33
以上是 如何根据R数据框中的单个组值找到平均值? 的全部内容, 来源链接: utcz.com/z/322647.html