Not sure what you mean by "permutations" here.  I think what you mean is
that given a matrix m, you want a matrix whose rows are c(i,j,m[i,j]) for
all i and j.  You can use the `melt` function in the `reshape` package for
this.  See below.

Hope this helps,

             -s

> library(reshape)
> melt(matrix(1:4,2,2))
  X1 X2 value
1  1  1     1
2  2  1     2
3  1  2     3
4  2  2     4

big <- matrix(1:700^2,700,700)
> head(melt(big))
  X1 X2 value
1  1  1     1
2  2  1     2
3  3  1     3
4  4  1     4
5  5  1     5
6  6  1     6
> system.time(melt(big))
   user  system elapsed
   0.08    0.00    0.08


On Fri, May 29, 2009 at 2:08 PM, Ian Coe <i...@connectcap.com> wrote:

> Hi,
>
>   Is there a way to  convert a matrix into a vector representing all
> permutations of values and column/row headings with native R functions?
> I did this with 2 nested for loops and it took about 25 minutes to run
> on a  ~700x700 matrix.  I'm assuming there must be a smarter way to do
> this with R's vector commands, but being new to R, I'm having trouble
> making it work.
>
>
>
> Thanks,
>
> Ian
>
>
>
>     [a] [b] [c]
>
> [d]    1    4    7
>
> [e]    2    5    8
>
> [f]    3    6    9
>
>
>
> a d 1
>
> a e 2
>
> a f 3
>
> b d 4
>
> b e 5
>
> b f 6
>
> c d 7
>
> c e 8
>
> c f 9
>
>
>
>
>
>
>
>
>
> Ian Coe
>
>
>
> Connective Capital Management, LLC
>
> 385 Homer Ave.
>
> Palo Alto, CA 94301
>
> (650) 321-4826 ext. 03
>
>
>
> CONFIDENTIALITY NOTICE: This e-mail communication (inclu...{{dropped:23}}
>
> ______________________________________________
> 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.
>

        [[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