Use the 'reshape' package:
? X1 X2 ? ? ?value
1 ? A ?O 0.26550866
2 ? B ?O 0.37212390
3 ? C ?O 0.57285336
4 ? D ?O 0.90820779
5 ? E ?O 0.20168193
6 ? A ?P 0.89838968
7 ? B ?P 0.94467527
8 ? C ?P 0.66079779
9 ? D ?P 0.62911404
10 ?E ?P 0.06178627
11 ?A ?Q 0.20597457
12 ?B ?Q 0.17655675
13 ?C ?Q 0.68702285
14 ?D ?Q 0.38410372
15 ?E ?Q 0.76984142
16 ?A ?R 0.49769924
17 ?B ?R 0.71761851
18 ?C ?R 0.99190609
19 ?D ?R 0.38003518
20 ?E ?R 0.77744522
21 ?A ?S 0.93470523
22 ?B ?S 0.21214252
23 ?C ?S 0.65167377
24 ?D ?S 0.12555510
25 ?E ?S 0.26722067
On Wed, Mar 25, 2009 at 3:13 AM, Ken-JP <kfmfe04 at gmail.com> wrote:
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?
--
View this message in context: http://www.nabble.com/Converting-a-Matrix-to-a-Vector-tp22696267p22696267.html
Sent from the R help mailing list archive at Nabble.com.