[R] find max value in each row and return column number and column name
David Winsemius
dwinsemius at comcast.net
Fri Nov 1 19:01:43 CET 2013
On Nov 1, 2013, at 10:03 AM, Gary Dong wrote:
> Dear R users,
>
> I wonder how I can use R to identify the max value of each row, the column
> number column name:
>
> For example:
>
> a <- data.frame(x = rnorm(4), y = rnorm(4), z = rnorm(4))
>
>> a
> x y z
> 1 -0.7289964 0.2194702 -2.4674780
> 2 1.0889353 0.3167629 -0.9208548
> 3 -0.6374692 -1.7249049 0.6567313
> 4 -0.1348642 0.4507473 -1.7309010
>
> In this data frame, I compare y and z only.
>
> What I need:
>
> x y z max max.col.num max.col.name
> 1 -0.7289964 0.2194702 -2.4674780 0.2194702 2
> y
> 2 1.0889353 0.3167629 -0.9208548 0.3167629 2
> y
> 3 -0.6374692 -1.7249049 0.6567313 0.6567313 3
> z
> 4 -0.1348642 0.4507473 -1.7309010 0.4507473 2
> y
>
>
> Any suggestion will be greatly appreciated!
cbind(a, max=apply(a,1,max),
max.col.num =apply(a,1,which.max) ,
max.col.name= names(a)[apply(a,1,which.max)] )
>
> Thank you!
>
> Gary
>
> [[alternative HTML version deleted]]
You can express your appreciation by posting in plain-text in the future.
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
David Winsemius
Alameda, CA, USA
More information about the R-help
mailing list