Actually, you don't need apply. If there are no NA's then it is very easy:
m[] <- y[ col(m) ] If you want to keep the NA's then it is a bit more tricky: m[] <- 0*m + y[ col(m) ] G. On Thu, Jan 31, 2008 at 07:03:51PM -0800, dxc13 wrote: > > useR's, > > Consider: > y <- c(20, 25, 30) > > m <- matrix(c(0.0,1,NA,0.5,1.25,0.75, 0.5, NA, > > NA),byrow=TRUE,nrow=3,ncol=3) > > m > [,1] [,2] [,3] > [1,] 0.0 1.00 NA > [2,] 0.5 1.25 0.75 > [3,] 0.5 NA NA > > For each numeric value, I want to replace them with their corresponding > y-value. The result should look like (here, each row represents a variable > rather than the columns): > [,1] [,2] [,3] > [1,] 20 25 NA > [2,] 20 25 30 > [3,] 20 NA NA > > Does anyone know how I can do this using apply()? Or is there an easier > way? Thanks in advance. > > Derek > -- > View this message in context: > http://www.nabble.com/replacing-values-in-a-matrix-tp15219764p15219764.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > 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. -- Csardi Gabor <[EMAIL PROTECTED]> UNIL DGM ______________________________________________ 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.