[R] elements in each row of a matrix to the left.
    john.gavin@ubs.com 
    john.gavin at ubs.com
       
    Mon Feb 27 20:33:54 CET 2006
    
    
  
Hi,
Given a matrix like
(z <- matrix(c(
1, 1, NA, NA, NA, NA,
1,  NA, 1,  NA, 1, NA,
NA, 1, 1,  1,  NA, NA), ncol = 3))
     [,1] [,2] [,3]
[1,]    1    1   NA
[2,]    1   NA    1
[3,]   NA    1    1
[4,]   NA   NA    1
[5,]   NA    1   NA
[6,]   NA   NA   NA
is there a vectorised way to produce the output like
     [,1] [,2] [,3]
[1,]    1    1   NA
[2,]    1   NA    1
[3,]    1    1   NA
[4,]    1   NA   NA
[5,]    1   NA   NA
[6,]   NA   NA   NA
That is, given an n by m matrix, and going row by row, 
if the first non-NA element is in column k
I want to move elements in columns from k to m
to columns 1 to m-k+1 with NAs filling in from 
m-k+2 to m.
> version
         _              
platform i386-pc-mingw32
arch     i386           
os       mingw32        
system   i386, mingw32  
status                  
major    2              
minor    2.1            
year     2005           
month    12             
day      20             
svn rev  36812          
language R        
Regards,
John.
John Gavin <john.gavin at ubs.com>,
Quantitative Risk Control,
UBS Investment Bank, 6th floor, 
100 Liverpool St., London EC2M 2RH, UK.
Phone +44 (0) 207 567 4289
Fax   +44 (0) 207 568 5352
Visit our website at http://www.ubs.com
This message contains confidential information and is intend...{{dropped}}
    
    
More information about the R-help
mailing list