G'day Ken,

On Wed, 25 Mar 2009 00:13:48 -0700 (PDT)
Ken-JP <kfmf...@gmail.com> wrote:

> 
> Say I have:
> 
> > set.seed( 1 )
> > m <- matrix( runif(5^2), nrow=5, dimnames =
> > list( c("A","B","C","D","E"), c("O","P","Q","R","S") ) )
> > m
>           O          P         Q         R         S
> A 0.2655087 0.89838968 0.2059746 0.4976992 0.9347052
> B 0.3721239 0.94467527 0.1765568 0.7176185 0.2121425
> C 0.5728534 0.66079779 0.6870228 0.9919061 0.6516738
> D 0.9082078 0.62911404 0.3841037 0.3800352 0.1255551
> E 0.2016819 0.06178627 0.7698414 0.7774452 0.2672207
> 
> -------------------------------------------------------------------------------------------
> 
> I want to create a vector v from matrix m that looks like this:
> 
> A.O 0.2655087
> B.O 0.3721239
> 
> v <- as.vector( m ) almost gives me what I want, but then I need to
> take combinations of colnames( m ) and rownames( m ) to get my labels
> and hope they match up in order: if not, manipulate the order.  This
> approach feels kludgy...
> 
> Is this the right approach or is there a better way?

R> tt <- reshape(data.frame(m), direction="long", varying=list(1:5), 
ids=rownames(m), times=colnames(m))
R> ind <- names(tt) %in% c("time", "id")
R> uu <- tt[,!ind]
R> names(uu) <- rownames(tt)
R> uu
       A.O        B.O        C.O        D.O        E.O        A.P        B.P 
0.26550866 0.37212390 0.57285336 0.90820779 0.20168193 0.89838968 0.94467527 
       C.P        D.P        E.P        A.Q        B.Q        C.Q        D.Q 
0.66079779 0.62911404 0.06178627 0.20597457 0.17655675 0.68702285 0.38410372 
       E.Q        A.R        B.R        C.R        D.R        E.R        A.S 
0.76984142 0.49769924 0.71761851 0.99190609 0.38003518 0.77744522 0.93470523 
       B.S        C.S        D.S        E.S 
0.21214252 0.65167377 0.12555510 0.26722067 

HTH.

Cheers,

        Berwin

=========================== Full address =============================
Berwin A Turlach                            Tel.: +65 6516 4416 (secr)
Dept of Statistics and Applied Probability        +65 6516 6650 (self)
Faculty of Science                          FAX : +65 6872 3919       
National University of Singapore     
6 Science Drive 2, Blk S16, Level 7          e-mail: sta...@nus.edu.sg
Singapore 117546                    http://www.stat.nus.edu.sg/~statba

______________________________________________
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.

Reply via email to