r-如何查找列中具有最高值的行的名称



我正在尝试查找数据帧中显示奇异列最高值的行的名称,我已经尝试使用

rownames(which.max(df[,1]))

rownames(df)[apply(df,1,which.ax)]

然而,第一段代码只给了我一个单词"NULL",第二段代码给了我许多行名的长列表。

使用which.max(df[,1])可以为我提供正确的编号,但不能提供我要查找的行的相应名称。

感谢的帮助

我们可以进行

rownames(df)[which.max(df[[1]])]

如果我们想要每列

sapply(df, (x) row.names(df)[which.max(x)])

使用max.col的另一个选项,首先转换数据帧如下:

df <- data.frame(V1 = c(1,2,3,4,5),
row.names = c(1,2,3,4,5))
df
#>   V1
#> 1  1
#> 2  2
#> 3  3
#> 4  4
#> 5  5
rownames(df)[max.col(t(df))]
#> [1] "5"

创建于2022-11-01,reprex v2.0.2

最新更新