Let M be your matrix. Do the following:
B <- t(matrix(colnames(a),nrow=ncol(M),ncol=nrow(M))) B[M==0] <- NA --- On Thu, 9/7/09, Olivella <olive...@wustl.edu> wrote: > From: Olivella <olive...@wustl.edu> > Subject: [R] Substituting numerical values using `apply' > To: r-help@r-project.org > Received: Thursday, 9 July, 2009, 6:25 AM > > Hello, > > I wish to perform a substitution of certain numerical > values in a data > matrix with the corresponding column name. For instance, if > I have a data > matrix > V1 V2 V3 > 2 0 1 > 0 1 2 > 1 5 0 > 5 0 0 > > I want to substitute the `1' and the `2' for the > corresponding column name, > and make everything else `NA' like this > V1 V2 V3 > V1 NA V3 > NA V2 V3 > V1 NA NA > NA NA NA > > I have done this using an explicit `for' loop, but it takes > a really long > time to finish. Is there any way I can do this using > `apply' or some form of > implicit looping? > > Thank you for your help, > > SO > -- > View this message in context: > http://www.nabble.com/Substituting-numerical-values-using-%60apply%27-tp24398687p24398687.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. > ______________________________________________ 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.