[R] Compiling a contingency table of counts by case

Jacques VESLOT jacques.veslot at good.ibl.fr
Fri Sep 22 18:18:15 CEST 2006


what's different from:
 > with(dat, tapply(x, list(name,case), sum))
       1  2  3
Joe   1  1 NA
John NA  1 NA
Karl NA NA  0
Mike  1  0  1

and how to deal with this table ?
-------------------------------------------------------------------
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
-------------------------------------------------------------------


hadley wickham a écrit :
>>I have asked a similar question before but this time
>>the problem is somewhat more involved. I have the
>>following data:
>>
>>case;name;x
>>1;Joe;1
>>1;Mike;1
>>1;Zoe;1
>>2;Joe;1
>>2;Mike;0
>>2;Zoe;1
>>2;John;1
>>3;Mike;1
>>3;Zoe;0
>>3;Karl;0
>>
>>I would like to count the number of "case"
>>in which any two "name"
>>
>>a. both have "x=1",
>>b. the first has "x=0" - the second has "x=1",
>>c. the first has "x=1" - the second has "x=0",
>>d. both have "x=0",
> 
> 
> One way is to use the reshape package:
> 
> dat <- read.delim("clipboard", sep=";")
> dat <- rename(dat, c(x=value))
> cast(dat, name ~ case)
> 
> (which doesn't give you exactly what you want, but I think might be
> more illuminating)
> 
> Hadley
> 
> ______________________________________________
> R-help at 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.
>



More information about the R-help mailing list