On Fri, 2008-02-29 at 15:01 +0000, Luis Ridao Cruz wrote: > R-help, > > I have a data frame in which I compute maximum by rows > and I wish to find out the column name at which this maximun occurs. > > Does anyone know how to do it? > > Thanks in advance
Do you mean compute the maximum value in a row and return which column this maximum occurred in? If so this is one way: > dat <- data.frame(matrix(rnorm(100), ncol = 5)) > names(dat) <- paste("Var", 1:5, sep = "") > head(dat) Var1 Var2 Var3 Var4 Var5 1 0.1510373 -0.64807707 -1.01413243 -0.7456820 0.1048061 2 -2.6693159 -0.23994702 0.37635088 0.4827074 -0.4895318 3 -1.1881114 0.02976593 -2.30550629 0.8875579 -1.4371890 4 -0.2446966 -0.52986123 0.98211952 1.8524755 1.2228393 5 1.7373406 -0.94157744 2.07561600 0.9042968 0.1344427 6 -0.8973550 -1.48810446 -0.06583172 1.2900323 1.6134146 > apply(dat, 1, function(x) names(dat)[which.max(x)]) [1] "Var1" "Var4" "Var4" "Var4" "Var3" "Var5" "Var1" "Var2" "Var5" "Var1" [11] "Var2" "Var5" "Var1" "Var4" "Var1" "Var2" "Var1" "Var3" "Var4" "Var1" Is that what you wanted? if you want the column number, not the name, then replace the last line with: > apply(dat, 1, which.max) [1] 1 4 4 4 3 5 1 2 5 1 2 5 1 4 1 2 1 3 4 1 To combine these into a named vector: > row.max <- apply(dat, 1, max) > names(row.max) <- apply(dat, 1, function(x) names(dat)[which.max(x)]) > row.max Var1 Var4 Var4 Var4 Var3 Var5 Var1 0.1510373 0.4827074 0.8875579 1.8524755 2.0756160 1.6134146 1.0785170 Var2 Var5 Var1 Var2 Var5 Var1 Var4 -0.1014373 1.7488679 0.2963419 0.3852797 1.0020775 0.8578898 0.8784652 Var1 Var2 Var1 Var3 Var4 Var1 0.5820790 2.0972333 1.2857461 0.7394983 0.4183199 0.9016516 HTH G -- %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~% Dr. Gavin Simpson [t] +44 (0)20 7679 0522 ECRC, UCL Geography, [f] +44 (0)20 7679 0565 Pearson Building, [e] gavin.simpsonATNOSPAMucl.ac.uk Gower Street, London [w] http://www.ucl.ac.uk/~ucfagls/ UK. WC1E 6BT. [w] http://www.freshwaters.org.uk %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~% ______________________________________________ R-help@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.