Your example does not appear to match your description of the problem. If you want have a 500x177 matrix and want to find the largest and second largest, you can try something like
m <- matrix( sample( 101:115 ), nc=3 ) [,1] [,2] [,3] [1,] 102 112 110 [2,] 111 106 104 [3,] 108 101 103 [4,] 114 115 105 [5,] 113 107 109 t( apply( m, 1, function(x){ r <- rank(-x); c( which(r==1), which(r==2) ) } ) ) [,1] [,2] [1,] 2 3 [2,] 1 2 [3,] 1 3 [4,] 2 1 [5,] 1 3 This uses the fact that all entries in a column is always refers to the same species. If you have stacked data (especially where the species appear in a non-regular manner), then it becomes slightly more tricky to find an elegant solution. Regards, Adai On Tue, 2005-11-08 at 15:46 -0800, Graham Watt-Gremm wrote: > Hi R-users: > [R 2.2 on OSX 10.4.3] > I have a (sparse) vegetation data frame with 500 rows (sampling > units) and 177 columns (plant species) where the data represent % > cover. I need to summarize the cover data by returning the names of > the most dominant and the second most dominant species per plot. I > reduced the data frame to omit cover below 5%; this is what it looks > like stacked. I have experimented with tapply(), by(), and some > functions mentioned in archived postings, but I haven't seen anything > that answers to this directly. Does anybody have any ideas? > > OBJECTID PolygonID SpeciesCod AbundanceP > 1 15006 ANT-CBG-rr1 Leymol 5.00000 > 3 15008 ANT-CBG-rr1 Ambcha 5.00000 > 5 15010 ANT-ESH-27 Atrpat 20.00000 > 6 15011 ANT-ESH-27 Ambcha 10.00000 > 11 15016 ANT-ESH-28 Salvir 20.00000 > 14 15019 ANT-ESH-28 Atrpat 5.00000 > 18 15023 ANT-POR-Rubarm5 Rubarm 60.00000 > 19 15024 ANT-POR-Rubarm5 Hedhel 40.00000 > 25 15030 ECO-CBG-A2 Griint 5.00000 > 27 15032 ECO-CBG-A2 Anngra 5.00000 > 38 15043 ECO-CBG-A4 Sperub 50.00000 > > Regards, > Graham Watt-Gremm > > ______________________________________________ > R-help@stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html > ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html