[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