Hi there, Assuming you would prefer to have only one min per row: apply(dat,1,which.min)
there is a link to this function in the help page for ?min. JC 2011/9/16 marlene marchena <marchenamarl...@gmail.com>: > Hi, > > I need to repor the index of a min value of each row in a matrix, but I > don't know how to do that when I have more than one min value. > > Here is my example > >> dat <- > matrix(c(5.4,4.8,5.6,4.8,NA,4.4,4.6,3.4,NA,NA,4,2.4,NA,NA,NA,2),byrow=TRUE,ncol=4) > >> dat > [,1] [,2] [,3] [,4] > [1,] 5.4 4.8 5.6 4.8 > [2,] NA 4.4 4.6 3.4 > [3,] NA NA 4.0 2.4 > [4,] NA NA NA 2.0 >> k <- apply(dat, 1, function(x) which(x == min(x, na.rm = TRUE))) >> k > [[1]] > [1] 2 4 > > [[2]] > [1] 4 > > [[3]] > [1] 4 > > [[4]] > [1] 4 > > But I need an output like this > > k<- 2 or 4, 4, 4, 4 > > Someone could help me with this issue. > > Thanks in advance, > > Marlene. > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. > ______________________________________________ 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.