[R] Matrix

Dénes Tóth toth.denes at ttk.mta.hu
Sun Jul 17 02:27:42 CEST 2016



On 07/17/2016 01:39 AM, Duncan Murdoch wrote:
> On 16/07/2016 6:25 PM, Ashta wrote:
>  > Hi all,
>  >
>  > I have a large square matrix (60 x 60)  and found it hard to
>  > visualize. Is it possible to change it  as shown below?
>  >
>  > Sample example (3 x 3)
>  >
>  >     A   B   C
>  > A  3   4   5
>  > B  4   7   8
>  > C  5   8   9
>  >
>  > Desired output
>  > A A  3
>  > A B  4
>  > A C  5
>  > B B  7
>  > B C  8
>  > C C  9
>
> Yes, use matrix indexing.  I don't think the 3600 values are going to be
> very easy to read, but here's how to produce them:
>
> m <- matrix(1:3600, 60, 60)
> indices <- expand.grid(row = 1:60, col = 1:60)
> cbind(indices$row, indices$col, m[as.matrix(indices)])
>

Or use as.data.frame.table():

m <- matrix(1:9, 3, 3,
             dimnames = list(dimA = letters[1:3],
                             dimB = letters[1:3]))
m
as.data.frame.table(m, responseName = "value")

---

I do not know what you mean by "visualize", but image() or heatmap() are 
good starting points if you need a plot of the values. If you really 
need to inspect the raw values, you can try interactive (scrollable) 
tables, e.g.:

library(DT)
m <- provideDimnames(matrix(1:3600, 60, 60))
datatable(m, options = list(pageLength = 60))


Cheers,
   Denes



> Duncan Murdoch
>
> ______________________________________________
> R-help at 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.



More information about the R-help mailing list