try this:

set.seed(1)
m <- matrix(runif(5^2), nrow = 5,
    dimnames = list(c("A","B","C","D","E"), c("O","P","Q","R","S")))

v <- c(m)
names(v) <- paste(rownames(m), colnames(m)[col(m)], sep = ".")
# or
# names(v) <- outer(rownames(m), colnames(m), paste, sep = ".")
v


I hope it helps.

Best,
Dimitris


Ken-JP 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?




--
Dimitris Rizopoulos
Assistant Professor
Department of Biostatistics
Erasmus University Medical Center

Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands
Tel: +31/(0)10/7043478
Fax: +31/(0)10/7043014

______________________________________________
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