[R] finding max value in a row and reporting colum name

lbertolo luigi.bertolotti at gmail.com
Mon Aug 2 13:51:24 CEST 2010



pdb wrote:
> 
> Hi,
> 
> Hopefully someone can point me in the right direction on how I would go
> about solving the following.
> 
> I have some data and need to find the column name of the maximum value in
> each row.
> 
> This could be the data...
> 
>> a <- data.frame(x = rnorm(4), y = rnorm(4), z = rnorm(4)) 
>> a
>            x           y          z
> 1  1.6534561  0.11523404  0.2261730
> 2 -1.2274320 -0.24096054  1.5096028
> 3 -1.4503096  0.07227427  1.6740867
> 4  0.1867416  1.25318913 -0.7350560
> 
> Here is what I need to generate...
> 
> 1 x
> 2 z
> 3 z
> 4 y
> 
> Any pointers would be appreciated.
> 
> Regards,
> 
> 
> 
> 

as.data.frame(cbind(row.names(a),apply(a,1,function(x)
names(a)[which(x==max(x))])))

LB
-- 
View this message in context: http://r.789695.n4.nabble.com/finding-max-value-in-a-row-and-reporting-colum-name-tp2309358p2310192.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list