[英]How to find the value of a column in R w.r.t maximum values in different columns in dataframe?
[英]Getting the Maximum values from the different columns in a dataframe of R
我有一個數據框如下:
H A B C D
------------------
X 1 10 2 11
Y 2 15 8 14
Z NA 23 NA 16
W 5 67 5 NA
X 4 1 6 2
Y 1 3 2 9
Z 2 NA 9 17
您能告訴我R命令,該命令為我提供A的最大值,B的最大值,C的最大值和D的最大值的對應H值,並將數據存儲在向量中。
col A的最大值為5,col B的最大值為67,col C的最大值為9,D的最大值為17。
我的新向量應具有H引用,分別為“ W”,“ W”,“ Z”,“ Z”
謝謝
data$H[sapply(data[,-1],which.max)]
這是使用base R
的選項
m1 <- t(df1[-1])
df1[,1][max.col(replace(m1, is.na(m1), 0), "first")]
#[1] "W" "W" "Z" "Z"
嘗試使用reshape
和dplyr
DF=melt(df)
DF=DF%>%group_by(variable)%>%slice(which.max(value))
DF
# A tibble: 4 x 3
# Groups: variable [4]
H variable value
<chr> <fctr> <int>
1 W A 5
2 W B 67
3 Z C 9
4 Z D 17
如果需要vector
,則只需DF$H
[1] "W" "W" "Z" "Z"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.