[R] Matrix
Ashta
sewashm at gmail.com
Sun Jul 17 04:43:17 CEST 2016
HI Denes, Duncan,Michael and all,
Thank you very much for the helpful suggestion. Some of my data sets
were not square matrix, however, Denes's suggestion,"
as.data.frame.table() ", handled that one.
Thank you again.
On Sat, Jul 16, 2016 at 7:27 PM, Dénes Tóth <toth.denes at ttk.mta.hu> wrote:
>
>
> 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