Re: [R] A contingency table of counts by case

From: Jacques VESLOT <jacques.veslot_at_good.ibl.fr>
Date: Wed 19 Jul 2006 - 18:09:39 EST

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



R-help@stat.math.ethz.ch 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. Received on Wed Jul 19 18:18:00 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Wed 19 Jul 2006 - 20:18:02 EST.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.