r - Returning 1st Largest and 2nd Largest numbers -


df <-   b c d e f g h              0 1 2 3 4 5 6 7                 1 2 3 8 5 6 7 4         

need find 1st , 2nd largest number in above given data frame . result should below .

a b c d e f g h      1st largest      2nd largest 0 1 2 3 4 5 6 7          7                 6 1 2 3 8 5 6 7 4          8                 7 

we can loop through rows using apply (with margin=1), sort elements decreasing=true option, , first 2 elements head or [1:2], transpose output , assign create 2 new columns in 'df'.

 df[c("firstlargest", "secondlargest")] <- t(apply(df, 1,            function(x) head(sort(x, decreasing=true),2)))  df  #  b c d e f g h firstlargest secondlargest  #1 0 1 2 3 4 5 6 7            7             6  #2 1 2 3 8 5 6 7 4            8             7 

Comments

Popular posts from this blog

java - Run spring boot application error: Cannot instantiate interface org.springframework.context.ApplicationListener -

reactjs - React router and this.props.children - how to pass state to this.props.children -

Excel VBA "Microsoft Windows Common Controls 6.0 (SP6)" Location Changes -