如何根据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 Score

1  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 Price

1   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 Sales

1  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

回到顶部