嗨我的數據框看起來像這樣。最右邊的列是我想要的列。R:來自多個向量的並行第二大值
Name Fund-A Fund-B Fund-C SecondLargest(Desired)
John 30000 20000 10000 20000
Tom NA 40000 15000 15000
Sarah 5000 NA NA NA
Kate NA NA NA NA
我只想基金-A中的第二大值,基金-B和基金C.如果沒有第二大的,我可以用NA,空白或零活。我知道「pmax」會給我最高的平行值。我不知道如何獲得第二高的價值。只是幫助。您的幫助真誠地感謝!
重塑長格式將是另一種選擇,也可能是對大數據集慢。 '庫(dplyr);庫(tidyr); bind_cols(df1,add_rownames(df1,var ='rn')%>%gather(Var,Val,matches('Fund'))%>%group_by(rn)%>%arrange(desc(Val))%>% slice(2L)%>%ungroup()%>%select(Val))' – akrun