如何在 R 数据框的每一行中为最大值创建一个列名?
要在 R 数据框的每一行中为最大值创建一个列名,我们可以按照以下步骤操作 -
首先,创建一个数据框。
然后,使用 dplyr 包的 mutate 函数和max.col函数来创建一个列名的列,以获得 R 数据帧的每一行中的最大值。
示例
创建数据框
让我们创建一个数据框,如下所示 -
x<-sample(1:50,25)输出结果y<-sample(1:50,25)
z<-sample(1:50,25)
df<-data.frame(x,y,z)
df
执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-
x y z1 9 17 21
2 20 43 27
3 50 33 30
4 25 8 18
5 44 5 20
6 34 41 42
7 23 15 12
8 2 23 35
9 43 27 5
10 29 12 47
11 42 19 15
12 15 28 32
13 13 36 39
14 10 50 14
15 19 11 45
16 5 24 37
17 48 2 11
18 36 25 10
19 31 10 48
20 38 49 36
21 11 46 4
22 41 1 44
23 7 26 46
24 22 34 9
25 16 45 3
为每行中的最大值创建一个列名
使用 dplyr 包的 mutate 函数和max.col函数来创建一个列名,用于数据框 df 的每一行中的最大值 -
x<-sample(1:50,25)输出结果y<-sample(1:50,25)
z<-sample(1:50,25)
df<-data.frame(x,y,z)
library(dplyr)
df %>% mutate(Class=names(.)[max.col(.)])
x y z Class1 9 17 21 z
2 20 43 27 y
3 50 33 30 x
4 25 8 18 x
5 44 5 20 x
6 34 41 42 z
7 23 15 12 x
8 2 23 35 z
9 43 27 5 x
10 29 12 47 z
11 42 19 15 x
12 15 28 32 z
13 13 36 39 z
14 10 50 14 y
15 19 11 45 z
16 5 24 37 z
17 48 2 11 x
18 36 25 10 x
19 31 10 48 z
20 38 49 36 y
21 11 46 4 y
22 41 1 44 z
23 7 26 46 z
24 22 34 9 y
25 16 45 3 y
以上是 如何在 R 数据框的每一行中为最大值创建一个列名? 的全部内容, 来源链接: utcz.com/z/331653.html