I am having the following problem. I want to calculate the maximum of each row in a matrix. If I pass in the matrix split up by each column then this is no problem and works great. However I don't know how many columns I have in advance. In the example below I have 3 columns, but the number of columns is not fix. So how do I do this?
matRandom <- matrix(runif(n=30), ncol=3); #Does not work pmax(matRandom) #Does work pmax(matRandom[,1], matRandom[,2], matRandom[,3]) I am aware that I can do it with the apply function, but the calculation is time sensitive so fast execution is important. #Apply might be too slow matRandom <- matrix(runif(n=300000), ncol=3); system.time(test <- pmax(matRandom[,1], matRandom[,2], matRandom[,3])) system.time(test <- apply(matRandom, 1, max)) >matRandom <- matrix(runif(n=300000), ncol=3); >system.time(test <- pmax(matRandom[,1], matRandom[,2], matRandom[,3])) user system elapsed 0.02 0.00 0.02 >system.time(test <- apply(matRandom, 1, max)) > user system elapsed 2.37 0.00 2.38 Thanks for your help. Regards. Wolfgang Wu ______________________________________________ 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.