as.vector(t(m))
 [1]  1  9 17 25 33 41  2 10 18 26 34 42  3 11 19 27 35 43  4 12 20 28 36 44
 5 13 21 29 37 45  6 14 22 30 38 46  7 15 23 31 39 47  8 16 24
[46] 32 40 48

the result I want is this:

[1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
[46] 46 47 48



On Sat, Jun 5, 2010 at 11:17 AM, Henrique Dallazuanna <www...@gmail.com>wrote:

> Try this:
>
> as.vector(t(m))
>
> On Sat, Jun 5, 2010 at 3:12 PM, steven mosher <mosherste...@gmail.com>wrote:
>
>> Given a matrix of m*n, I want to reorder it as a vector, using a row major
>> transpose.
>>
>> so:
>>
>> > m<-matrix(seq(1,48),nrow=6,byrow=T)
>> > m
>>     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
>> [1,]    1    2    3    4    5    6    7    8
>> [2,]    9   10   11   12   13   14   15   16
>> [3,]   17   18   19   20   21   22   23   24
>> [4,]   25   26   27   28   29   30   31   32
>> [5,]   33   34   35   36   37   38   39   40
>> [6,]   41   42   43   44   45   46   47   48
>>
>> I want to reorder this as a vector copying by row, so that the final
>> vector
>> has elements ordered thusly: row 1, column 1:N (m[1,1:n]) maps to
>> row 1-n, and m[2,1:n] maps to row[n+1:2n] ...
>>
>> this obviously is not a solution: as the inherent column major storage
>> paradigm of a matrix
>> defeats the approach.
>> > dim(m)<-c(48,1)
>> > m
>>      [,1]
>>  [1,]    1
>>  [2,]    9
>>  [3,]   17
>>  [4,]   25
>>  [5,]   33
>>  [6,]   41
>>  [7,]    2
>>  [8,]   10
>>  [9,]   18
>> [10,]   26
>> [11,]   34
>> [12,]   42
>> [13,]    3
>> [14,]   11
>> [15,]   19
>> [16,]   27
>> [17,]   35
>> [18,]   43
>> [19,]    4
>> [20,]   12
>> [21,]   20
>> [22,]   28
>> [23,]   36
>> [24,]   44
>> [25,]    5
>> [26,]   13
>> [27,]   21
>> [28,]   29
>> [29,]   37
>> [30,]   45
>> [31,]    6
>> [32,]   14
>> [33,]   22
>> [34,]   30
>> [35,]   38
>> [36,]   46
>> [37,]    7
>> [38,]   15
>> [39,]   23
>> [40,]   31
>> [41,]   39
>> [42,]   47
>> [43,]    8
>> [44,]   16
>> [45,]   24
>> [46,]   32
>> [47,]   40
>> [48,]   48
>>
>>
>> I already have a version that loops through the data ( this is actually a
>> portion of a data frame ) to reorder
>> this into a vector, but I was hoping there was an elegant way
>>
>>        [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> 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.
>>
>
>
>
> --
> Henrique Dallazuanna
> Curitiba-Paraná-Brasil
> 25° 25' 40" S 49° 16' 22" O
>

        [[alternative HTML version deleted]]

______________________________________________
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