[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