Skip to content
Back to formatted view

Raw Message

Message-ID: <a97051330903250521u4bcfc2cesa7c72af4af41934@mail.gmail.com>
Date: 2009-03-25T12:21:42Z
From: Patrizio Frederic
Subject: Converting a Matrix to a Vector
In-Reply-To: <644e1f320903250505r7460b243o64ea551dbc542264@mail.gmail.com>

try also

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

data.frame(expand.grid(Names[[1]],Names[[2]]),as.numeric(m))
data.frame(code=outer(Names[[1]],Names[[2]],paste,sep=".")[1:25],num=as.numeric(m))


Patrizio


2009/3/25 jim holtman <jholtman at gmail.com>:
> 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?
>
> ______________________________________________
> 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.
>