Re: [R] reexpand a matrix after subsetting

From: Adaikalavan Ramasamy <ramasamy_at_cancer.org.uk>
Date: Wed 31 Aug 2005 - 05:03:20 EST

  1. Do you really need to turn rows 3, 6, 9 of mat into NA ? I would suggest the use of usediff() to remove them after complete.cases
  2. The trick is to create a matrix of the same dimension as 'mat' but initialised with NAs followed by replacing the required rows.

Example :

   w <- which( complete.cases(mat) )
   w <- setdiff( w, c(3,6,9) )  

   out <- matrix( NA, nr=nrow(mat), nc=ncol(mat) )    out[ w, ] <- 2 * mat[ w, ]

Regards, Adai

On Mon, 2005-08-29 at 18:11 +0200, Ido M. Tamir wrote:
> Hi,
>
> suppose I have a matrix (or dataframe)
> as a result from subsetting.
>
> mat <- matrix(1:20,ncol=2)
> mat[c(3,6,9),] <- NA
> cc <- complete.cases(mat)
> sub <- mat[cc,,drop=FALSE]
> sub <- sub * 2
> #some caluculations with sub.
>
> now I would like to expand sub somehow
> so row 3,6, and 9 would be filled with
> NAs but the rest should be in place again.
> Is there a simple function for this?
>
> merge is not an option.
>
> Thank you very much for your help.
>
> Ido
>
>
> [,1] [,2]
> [1,] 2 22
> [2,] 4 24
> [3,] NA NA
> [4,] 8 28
> [5,] 10 30
> [6,] NA NA
> [7,] 14 34
> [8,] 16 36
> [9,] NA NA
> [10,] 20 40
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Wed Aug 31 05:08:13 2005

This archive was generated by hypermail 2.1.8 : Sun 23 Oct 2005 - 16:09:08 EST