[R] Create pairwise table from columns?

knussear knussear at mac.com
Sat May 10 14:17:12 CEST 2008


Fantastic! Thanks very much!

Where can I read more about the double assignment statement at the bottom? 
Closest I could get was a double for loop, which takes a long time....


Bill.Venables wrote:
> 
> Here is a suggestion
> 
>> con <- textConnection("AnimalA,AnimalB,Score
>     A1,A2,1
>     A1,A3,2
>     A1,A4,3
>     A2,A3,4
>     A2,A4,5
>     A3,A4,6
>     ")
>> tst <- read.csv(con)
>> close(con)
>> an <- with(tst, sort(unique(c(as.character(AnimalA),
>                     as.character(AnimalB)))))
>> M <- array(0, c(length(an), length(an)), list(an, an))
>> i <- match(tst$AnimalA, an)
>> j <- match(tst$AnimalB, an)
>> M[cbind(i,j)] <- M[cbind(j,i)] <- tst$Score
>> 
>> M
>    A1 A2 A3 A4
> A1  0  1  2  3
> A2  1  0  4  5
> A3  2  4  0  6
> A4  3  5  6  0
>> 
> 
> 
> Bill Venables
> CSIRO Laboratories
> PO Box 120, Cleveland, 4163
> AUSTRALIA
> Office Phone (email preferred): +61 7 3826 7251
> Fax (if absolutely necessary):  +61 7 3826 7304
> Mobile:                         +61 4 8819 4402
> Home Phone:                     +61 7 3286 7700
> mailto:Bill.Venables at csiro.au
> http://www.cmis.csiro.au/bill.venables/ 
> 
> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
> On Behalf Of knussear
> Sent: Saturday, 10 May 2008 10:18 AM
> To: r-help at r-project.org
> Subject: [R] Create pairwise table from columns?
> 
> 
> Hi Group
> 
> I have a large data set of individual pairwise values (250,000 rows)
> that I
> need to reshape into a pairwise matrix for mantel tests of these values
> versus genetic distances.
> 
> the data are currently in columns formatted like so
> AnimalA, AnimalB, Score
> A1, A2, S1
> A1, A3, S2
> A1, A4, S3
> A2, A3, S4
> A2, A4, S5
> A3, A4, S6
> ...,....,....
> 
> 
> I need the final matrix to be formatted as
>      A1    A2    A3    A4
> A1  0     S1    S2    S3
> A2  S1    0     S4    S5
> A3  S2    S4   0      S6
> A4  S3    S4   S6     0
> 
> are there any functions/packages that will make this easier?
> 
> Thanks
> 
> Ken
> -- 
> View this message in context:
> http://www.nabble.com/Create-pairwise-table-from-columns--tp17158538p171
> 58538.html
> Sent from the R help mailing list archive at Nabble.com.
> 
> ______________________________________________
> 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.
> 
> ______________________________________________
> 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.
> 
> 

-- 
View this message in context: http://www.nabble.com/Create-pairwise-table-from-columns--tp17158538p17162698.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list