try this: mat <- data.matrix(read.table( textConnection("85 .90 86 .89 87 .98 86 .87 88 .98 90 .78 88 .76 89 .56 90 .67 95 .67 89 .89 90 .87 91 .56 96 .87 90 .76 92 .98"))) closeAllConnections()
nc <- ncol(mat) labs <- mat[, seq(1, nc, 2)] vals <- mat[, -seq(1, nc, 2)] lis <- split(c(vals, col(vals)), c(labs, labs)) t(sapply(lis, function(x, out){ nx <- length(x) ind <- seq(1, nx/2) out[x[-ind]] <- x[ind] out }, out = numeric(nc/2))) I hope it helps. Best, Dimitris ---- Dimitris Rizopoulos Biostatistical Centre School of Public Health Catholic University of Leuven Address: Kapucijnenvoer 35, Leuven, Belgium Tel: +32/(0)16/336899 Fax: +32/(0)16/337015 Web: http://med.kuleuven.be/biostat/ http://www.student.kuleuven.be/~m0390867/dimitris.htm Quoting dinesh kumar <[EMAIL PROTECTED]>: > Dear R users, > > I have a matrix like > > 85 .90 86 .89 87 .98 86 .87 > 88 .98 90 .78 88 .76 89 .56 > 90 .67 95 .67 89 .89 90 .87 > 91 .56 96 .87 90 .76 92.98 > > each pair of columns present a variable name and next the value. I have > matrix with more than 500 rows and column. > > Now I want to convert this matrix in to. > > 85 .90 00 .00 00 > 86 .00 .89 .00 .87 > 87 .00 00 .98 00 > 88 .98 00 .76 00 > 89 .00 00 .89 .56 > 90 .67 .78 .76 .87 > 91 .56 00 .00 00 > 92 .00 .00 .00 .98 > 93 .00 .00 00 00 > 94 .00 .00 00 00 > 95 .00 .67 00 00 > 96 .00 .87 00 00 > > Where first column represent the Variable name. > > And if the first matrix is transposed, then how to get the output in which > First raw present the variable name. > > It will be great help for my research. > > Dinesh > > -- > Dinesh Kumar Barupal > Research Associate > Metabolomics Fiehn Lab > UCD Genome Center > 451 East Health Science Drive > GBSF Builidng > University of California > DAVIS > 95616 > http://fiehnlab.ucdavis.edu/staff/kumar > > [[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. > > Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm ______________________________________________ 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.