from matrix to data.frame
?stack
x <- read.table(textConnection(" A B C D E
+ 1 1 6 11 16 21 + 2 2 7 12 17 22 + 3 3 8 13 18 23 + 4 4 9 14 19 24 + 5 5 10 15 20 25"), header=TRUE)
x
A B C D E 1 1 6 11 16 21 2 2 7 12 17 22 3 3 8 13 18 23 4 4 9 14 19 24 5 5 10 15 20 25
stack(x)
values ind 1 1 A 2 2 A 3 3 A 4 4 A 5 5 A 6 6 B 7 7 B 8 8 B 9 9 B 10 10 B 11 11 C 12 12 C 13 13 C 14 14 C 15 15 C 16 16 D 17 17 D 18 18 D 19 19 D 20 20 D 21 21 E 22 22 E 23 23 E 24 24 E 25 25 E
On Tue, Jan 20, 2009 at 9:10 AM, Antje <niederlein-rstat at yahoo.de> wrote:
Hello, I have a question how to reshape a given matrix to a data frame. # ----------------------------------
a <- matrix(1:25, nrow=5) a
[,1] [,2] [,3] [,4] [,5] [1,] 1 6 11 16 21 [2,] 2 7 12 17 22 [3,] 3 8 13 18 23 [4,] 4 9 14 19 24 [5,] 5 10 15 20 25
colnames(a) <- LETTERS[1:5] rownames(a) <- as.character(1:5) a
A B C D E 1 1 6 11 16 21 2 2 7 12 17 22 3 3 8 13 18 23 4 4 9 14 19 24 5 5 10 15 20 25 # ----------------------------------- This is an example on how my matrix looks like. Now, I'd like to reshape the data that I get a data frame with three columns: - the row name of the enty (X1) - the column name of the entry (X2) - the entry itself (X3) like: X1 X2 X3 1 A 1 2 A 2 3 A 3 .... 1 B 6 2 B 7 .... 5 E 25 How would you solve this problem in an elegant way? Antje
______________________________________________ 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?