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 <[email protected]> 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}}
>
> ______________________________________________
> [email protected] 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]]
______________________________________________
[email protected] 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.