[R] A contingency table of counts by case

Jacques VESLOT jacques.veslot at good.ibl.fr
Wed Jul 19 10:09:39 CEST 2006


sorry, answered to quickly...
actually it's easier using paste():


df <- df[order(df$case),]
apply(combinations(9,2), 1, function(y) table(factor(do.call(paste, c(with(df[df$id %in% y, ], 
split(x, id)), sep="")), levels=c("00","01","10","11"))))

-------------------------------------------------------------------
Jacques VESLOT

CNRS UMR 8090
I.B.L (2ème étage)
1 rue du Professeur Calmette
B.P. 245
59019 Lille Cedex

Tel : 33 (0)3.20.87.10.44
Fax : 33 (0)3.20.87.10.31

http://www-good.ibl.fr
-------------------------------------------------------------------


Serguei Kaniovski a écrit :
> Here is an example of the data.frame that I have,
> 
> df<-data.frame("case"=rep(1:5,each=9),"id"=rep(1:9,times=5),"x"=round(runif(length(rep(1:5,each=9)))))
> 
> "case" represents the cases,
> "id" the persons, and
> "x" is the binary state.
> 
> I would like to know in how many cases any two persons
> 
> a. both have "1",
> b. the first has "0" - the second has "1",
> c. the first has "0" - the second has "0",
> d. both have "0".
> 
> There will be choose(9,2) sums, denoted s_ij for 1<=i<j<=9,
> where i and j are running indices for an "id"-pair.
> 
> Please help, this is way beyond my knowledge of R!
> 
> Thank you,
> Serguei Kaniovski



More information about the R-help mailing list