More like this? > mat <- structure(c(5, 6, 5, 5, 4, 3, 6, 7, 4, 7, 5, 5, 5, 5, 6, 5, 5, + 4, 3, 6, 7, 4, 7, 5, 5, 5, 6, 5, 4, 5, 5, 7, 5, 6, 3, 5, 6, 7, + 6, 6, 5, 4, 5, 5, 7, 5, 6, 3, 5, 6, 7, 6), .Dim = c(26L, 2L)) > > # Convert columns in mat so first column is always smaller > mat2 <- data.frame(t(apply(mat, 1, range))) > mat2$X1 <- factor(mat2$X1, 1:9) > mat2$X2 <- factor(mat2$X2, 1:9) > tbl <- xtabs(~X1+X2, mat2) > tbl.p <- tbl/sum(tbl) > round(tbl.p, 2) X2 X1 1 2 3 4 5 6 7 8 9 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 3 0.00 0.00 0.00 0.08 0.00 0.00 0.08 0.00 0.00 4 0.00 0.00 0.00 0.00 0.15 0.00 0.00 0.00 0.00 5 0.00 0.00 0.00 0.00 0.08 0.38 0.15 0.00 0.00 6 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.00 0.00 7 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 9 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
This puts everything on the diagonal and upper triangle. To get the lower triangle just use > tbl <- xtabs(~X2+X1, mat2) ------------------------------------- David L Carlson Department of Anthropology Texas A&M University College Station, TX 77840-4352 -----Original Message----- From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of Hermann Norpois Sent: Wednesday, October 7, 2015 12:17 AM To: Boris Steipe; r-help Subject: Re: [R] Measure the frequencies of pairs in a matrix Ok, this was misleading. And was not that important. My result matrix should look like this: 1 2 3 4 5 6 7 ... 1 p1 p2 2 p 3 4 p1 etc are the frequencies of the combinations 1 and 2 for instance do not appear in my example. So the values would be zero. Actually, this part is not too important. I would be happy enough to solve the challenge with the frequencies of the pairs. Thanks Hermann 2015-10-07 2:40 GMT+02:00 Boris Steipe <boris.ste...@utoronto.ca>: > Since order is not important to you, you can order your pairs (e.g. > decreasing) before compiling the frequencies. > But I don't understand the second part about values "that do not appear in > the matrix". Do you mean you want to assess all combinations? If that's the > case I would think about a hash table or other indexed data structure, > rather than iterating through a matrix. > > > B. > > > > On Oct 6, 2015, at 4:59 PM, Hermann Norpois <hnorp...@gmail.com> wrote: > > > Hello, > > > > I have a matrix mat (see dput(mat)) > > > >> mat > > [,1] [,2] > > [1,] 5 6 > > [2,] 6 5 > > [3,] 5 4 > > [4,] 5 5 > > .... > > > > I want the frequencies of the pairs in a new matrix, whereas the > > combination 5 and 6 is the same as 6 and 5 (see the first two rows of > mat). > > In other words: What is the probability of each combination (each row) > > ignoring the order in the combination. As a result I would like to have a > > matrix that includes rows and cols 0, 1, 2 ... max (mat) that do not > appear > > in my matrix. > > > > dput (mat) > > structure(c(5, 6, 5, 5, 4, 3, 6, 7, 4, 7, 5, 5, 5, 5, 6, 5, 5, > > 4, 3, 6, 7, 4, 7, 5, 5, 5, 6, 5, 4, 5, 5, 7, 5, 6, 3, 5, 6, 7, > > 6, 6, 5, 4, 5, 5, 7, 5, 6, 3, 5, 6, 7, 6), .Dim = c(26L, 2L)) > > > > Thanks > > Hermann > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > > 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. > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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 -- To UNSUBSCRIBE and more, see 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. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.