我正在嘗試查找在我的資料框中顯示單個列的最大值的行的名稱,我嘗試使用
rownames(which.max(df[,1]))
和
rownames(df)[apply(df,1,which.ax)]
但是,第一段代碼只給了我“NULL”這個詞,第二段代碼為我提供了許多行名的長串列。
usingwhich.max(df[,1])為我提供了正確的數字,但不是我要查找的行的相應名稱。
謝謝你的幫助
uj5u.com熱心網友回復:
我們可以做
rownames(df)[which.max(df[[1]])]
如果我們想要每一列
sapply(df, \(x) row.names(df)[which.max(x)])
uj5u.com熱心網友回復:
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"
使用reprex v2.0.2創建于 2022-11-01
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/524754.html
標籤:r数据框
下一篇:如何過濾資料框中的列?
