[R] Alignment and Reshaping of the matrix

Dimitris Rizopoulos Dimitris.Rizopoulos at med.kuleuven.be
Sun Mar 30 11:16:46 CEST 2008


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 <barupal at gmail.com>:

> 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 at 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



More information about the R-help mailing list