[R] Create pairwise table from columns?

Bill.Venables at csiro.au Bill.Venables at csiro.au
Sat May 10 10:43:25 CEST 2008


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.



More information about the R-help mailing list