[R] Converting a Matrix to a Vector

jim holtman jholtman at gmail.com
Wed Mar 25 13:05:28 CET 2009


Use the 'reshape' package:

> library(reshape)
> melt(m)
   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:
>
> 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?
>
>
>
> --
> 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.
>
> ______________________________________________
> R-help at 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.
>



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem that you are trying to solve?




More information about the R-help mailing list