# Transform pairwise observations into a table

10 messages
Open this post in threaded view
|

## Transform pairwise observations into a table

 Hi, I have a table of pairs of individuals and a coefficient that belongs to the pair: ind1 ind2 coef 1 1 1 1 2 0.25 1 3 0.125 1 4 0.5 2 2 1 2 1 0.25 2 3 0.125 2 4 0.5 3 3 1 3 1 0.125 3 2 0.125 3 4 0.5 4 4 1 4 1 0.5 4 2 0.5 4 3 0.5 And I want to convert it to a matrix where each individual is both a row and a column and at the intersection of each pair is the coefficient that belongs to that pair:         1       2       3         4 1 1       0.25       0.125 0.5 2 0.25      1       0.125 0.5 3 0.125    0.125    1        0.5 4 0.5       0.5       0.5        1 If table() would allow me to specify something other than frequencies to fill the table with, it would be what I need. I tried a few different combinations of t() and unique() but none of it made enough sense to post as my starting code... I am just lost. Any help would be greatly appreciated. Thank you, AHJ
Open this post in threaded view
|

## Re: Transform pairwise observations into a table

 This post has NOT been accepted by the mailing list yet. Hi, Try this: dat1<-read.table(text=" ind1 ind2 coef 1 1 1 1 2 0.25 1 3 0.125 1 4 0.5 2 2 1 2 1 0.25 2 3 0.125 2 4 0.5 3 3 1 3 1 0.125 3 2 0.125 3 4 0.5 4 4 1 4 1 0.5 4 2 0.5 4 3 0.5 ",sep="",header=TRUE) mat1<-as.matrix(xtabs(coef~ind1+ind2,data=dat1)) mat1 #    ind2 #ind1     1     2     3     4   # 1 1.000 0.250 0.125 0.500    #2 0.250 1.000 0.125 0.500    #3 0.125 0.125 1.000 0.500    #4 0.500 0.500 0.500 1.000 A.K.
Open this post in threaded view
|

## Re: Transform pairwise observations into a table

 In reply to this post by AHJ Hi, Try this: dat1<-read.table(text=" ind1 ind2 coef 1 1 1 1 2 0.25 1 3 0.125 1 4 0.5 2 2 1 2 1 0.25 2 3 0.125 2 4 0.5 3 3 1 3 1 0.125 3 2 0.125 3 4 0.5 4 4 1 4 1 0.5 4 2 0.5 4 3 0.5 ",sep="",header=TRUE) mat1<-as.matrix(xtabs(coef~ind1+ind2,data=dat1)) #    ind2 #ind1     1     2     3     4   # 1 1.000 0.250 0.125 0.500    #2 0.250 1.000 0.125 0.500    #3 0.125 0.125 1.000 0.500    #4 0.500 0.500 0.500 1.000 A.K. ----- Original Message ----- From: AHJ <[hidden email]> To: [hidden email] Cc: Sent: Monday, October 1, 2012 12:17 PM Subject: [R] Transform pairwise observations into a table Hi, I have a table of pairs of individuals and a coefficient that belongs to the pair: ind1    ind2    coef 1    1    1 1    2    0.25 1    3    0.125 1    4    0.5 2    2    1 2    1    0.25 2    3    0.125 2    4    0.5 3    3    1 3    1    0.125 3    2    0.125 3    4    0.5 4    4    1 4    1    0.5 4    2    0.5 4    3    0.5 And I want to convert it to a matrix where each individual is both a row and a column and at the intersection of each pair is the coefficient that belongs to that pair:     1           2           3             4 1    1           0.25           0.125    0.5 2    0.25      1           0.125    0.5 3    0.125    0.125    1            0.5 4    0.5           0.5           0.5            1 If table() would allow me to specify something other than frequencies to fill the table with, it would be what I need. I tried a few different combinations of t() and unique() but none of it made enough sense to post as my starting code... I am just lost. Any help would be greatly appreciated. Thank you, AHJ -- View this message in context: http://r.789695.n4.nabble.com/Transform-pairwise-observations-into-a-table-tp4644706.htmlSent from the R help mailing list archive at Nabble.com. ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code. ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.
Open this post in threaded view
|

## Re: Transform pairwise observations into a table

 Thank you. I had looked at xtabs but misunderstood the syntax. This is great. :) AHJ On Oct 1, 2012, at 12:53 PM, "arun" <[hidden email]> wrote: > Hi, > Try this: > > dat1<-read.table(text=" > ind1 ind2 coef > 1 1 1 > 1 2 0.25 > 1 3 0.125 > 1 4 0.5 > 2 2 1 > 2 1 0.25 > 2 3 0.125 > 2 4 0.5 > 3 3 1 > 3 1 0.125 > 3 2 0.125 > 3 4 0.5 > 4 4 1 > 4 1 0.5 > 4 2 0.5 > 4 3 0.5 > ",sep="",header=TRUE) > mat1<-as.matrix(xtabs(coef~ind1+ind2,data=dat1)) > > #    ind2 > #ind1     1     2     3     4 >   # 1 1.000 0.250 0.125 0.500 >    #2 0.250 1.000 0.125 0.500 >    #3 0.125 0.125 1.000 0.500 >    #4 0.500 0.500 0.500 1.000 > > A.K. > > > > ----- Original Message ----- > From: AHJ <[hidden email]> > To: [hidden email] > Cc: > Sent: Monday, October 1, 2012 12:17 PM > Subject: [R] Transform pairwise observations into a table > > Hi, > > I have a table of pairs of individuals and a coefficient that belongs to the > pair: > > ind1    ind2    coef > 1    1    1 > 1    2    0.25 > 1    3    0.125 > 1    4    0.5 > 2    2    1 > 2    1    0.25 > 2    3    0.125 > 2    4    0.5 > 3    3    1 > 3    1    0.125 > 3    2    0.125 > 3    4    0.5 > 4    4    1 > 4    1    0.5 > 4    2    0.5 > 4    3    0.5 > > And I want to convert it to a matrix where each individual is both a row and > a column and at the intersection of each pair is the coefficient that > belongs to that pair: > >     1           2           3             4 > 1    1           0.25           0.125    0.5 > 2    0.25      1           0.125    0.5 > 3    0.125    0.125    1            0.5 > 4    0.5           0.5           0.5            1 > > If table() would allow me to specify something other than frequencies to > fill the table with, it would be what I need. I tried a few different > combinations of t() and unique() but none of it made enough sense to post as > my starting code... I am just lost. Any help would be greatly appreciated. > > Thank you, > AHJ > > > > -- > View this message in context: http://r.789695.n4.nabble.com/Transform-pairwise-observations-into-a-table-tp4644706.html> Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > [hidden email] 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. > ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.
Open this post in threaded view
|

## Re: Transform pairwise observations into a table

 In reply to this post by AHJ Hello, Try the following. dat <- read.table(text=" ind1 ind2 coef 1 1 1 1 2 0.25 1 3 0.125 1 4 0.5 2 2 1 2 1 0.25 2 3 0.125 2 4 0.5 3 3 1 3 1 0.125 3 2 0.125 3 4 0.5 4 4 1 4 1 0.5 4 2 0.5 4 3 0.5 ", header=TRUE) dat reshape(dat, v.names = "coef", idvar = "ind1", timevar = "ind2",          direction = "wide") Hope this helps, Rui Barradas Em 01-10-2012 17:17, AHJ escreveu: > Hi, > > I have a table of pairs of individuals and a coefficient that belongs to the > pair: > > ind1 ind2 coef > 1 1 1 > 1 2 0.25 > 1 3 0.125 > 1 4 0.5 > 2 2 1 > 2 1 0.25 > 2 3 0.125 > 2 4 0.5 > 3 3 1 > 3 1 0.125 > 3 2 0.125 > 3 4 0.5 > 4 4 1 > 4 1 0.5 > 4 2 0.5 > 4 3 0.5 > > And I want to convert it to a matrix where each individual is both a row and > a column and at the intersection of each pair is the coefficient that > belongs to that pair: > > 1       2       3         4 > 1 1       0.25       0.125 0.5 > 2 0.25      1       0.125 0.5 > 3 0.125    0.125    1        0.5 > 4 0.5       0.5       0.5        1 > > If table() would allow me to specify something other than frequencies to > fill the table with, it would be what I need. I tried a few different > combinations of t() and unique() but none of it made enough sense to post as > my starting code... I am just lost. Any help would be greatly appreciated. > > Thank you, > AHJ > > > > -- > View this message in context: http://r.789695.n4.nabble.com/Transform-pairwise-observations-into-a-table-tp4644706.html> Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > [hidden email] 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. ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.
Open this post in threaded view
|

## Re: Transform pairwise observations into a table

Open this post in threaded view
|

## Re: Transform pairwise observations into a table

Open this post in threaded view
|