在 R 数据框中查找组明智的大值和小值。
要在 R 数据框中查找分组大小值,我们可以使用 dplyr 包的 mutate 函数,在 group_by 函数的帮助下可以轻松完成分组。
例如,如果我们有一个名为 df 的数据框,其中包含分组列 Grp 和数字列 Num,那么我们可以使用以下命令找到分组的大值和小值 -
df%%group_by(Gp)%%mutate(Val=ifelse(Val==max(Val),"large","small"))
示例 1
以下代码段创建了一个示例数据框 -
Group<-rep(LETTERS[1:10],each=2)Dep_Var<-rpois(20,5)
df1<-data.frame(Group,Dep_Var)
df1
创建了以下数据框
Group Dep_Var1 A 11
2 A 5
3 B 2
4 B 2
5 C 10
6 C 8
7 D 6
8 D 5
9 E 3
10 E 5
11 F 3
12 F 8
13 G 8
14 G 2
15 H 3
16 H 3
17 I 7
18 I 5
19 J 3
20 J 5
要加载 dplyr 包并在上面创建的数据框中的 df1 的 Group 列中为每个组查找 Dep_Var 的大小值,请将以下代码添加到上面的代码段中 -
Group<-rep(LETTERS[1:10],each=2)输出结果Dep_Var<-rpois(20,5)
df1<-data.frame(Group,Dep_Var)
library(dplyr)
df1%%group_by(Group)%%mutate(Magnitude=ifelse(Dep_Var==max(Dep_Var),"large","small"))
# A tibble: 20 x 3
# Groups: Group [10]
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
Group Dep_Var Magnitude<chr <int <chr
1 A 11 large
2 A 5 small
3 B 2 large
4 B 2 large
5 C 10 large
6 C 8 small
7 D 6 large
8 D 5 small
9 E 3 small
10 E 5 large
11 F 3 small
12 F 8 large
13 G 8 large
14 G 2 small
15 H 3 large
16 H 3 large
17 I 7 large
18 I 5 small
19 J 3 small
20 J 5 large
示例 2
以下代码段创建了一个示例数据框 -
Class<-rep(1:10,each=2)Score<-sample(20:50,20)
df2<-data.frame(Class,Score)
df2
创建了以下数据框
Class Score1 1 44
2 1 25
3 2 40
4 2 30
5 3 34
6 3 37
7 4 36
8 4 27
9 5 38
10 5 24
11 6 29
12 6 20
13 7 47
14 7 35
15 8 45
16 8 21
17 9 49
18 9 46
19 10 31
20 10 48
要在上面创建的数据框中的 df2 的 Class 列中找到每个组的 Score 的大小值,请将以下代码添加到上面的代码段中 -
Class<-rep(1:10,each=2)输出结果Score<-sample(20:50,20)
df2<-data.frame(Class,Score)
df2%%group_by(Class)%%mutate(Magnitude=ifelse(Score==max(Score),"large","small"))
# A tibble: 20 x 3
# Groups: Class [10]
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
Class Score Magnitude<int <int <chr
1 1 44 large
2 1 25 small
3 2 40 large
4 2 30 small
5 3 34 small
6 3 37 large
7 4 36 large
8 4 27 small
9 5 38 large
10 5 24 small
11 6 29 large
12 6 20 small
13 7 47 large
14 7 35 small
15 8 45 large
16 8 21 small
17 9 49 large
18 9 46 small
19 10 31 small
20 10 48 large
以上是 在 R 数据框中查找组明智的大值和小值。 的全部内容, 来源链接: utcz.com/z/322658.html