This is definitely a hack, but it gets the job done.

X<-model.matrix(~0+pheno,data=data)
data2<-apply(X,2,function(X){tapply(X,data$ID,sum)})
data2

  phenoAppendicitis phenoAutism phenoBreast Cancer phenoMicrocephaly
phenoPolyps
A                 1           0                  1                 1
  0
B                 0           1                  0                 0
  1
C                 0           1                  0                 0
  0
D                 1           0                  1                 0
  1
E                 0           0                  1                 0
  0

-tgs
On Thu, May 6, 2010 at 3:27 PM, Min-Han Tan <minhan.scie...@gmail.com>wrote:

> Dear R-help list,
>
> Apologies. I  am trying to convert one table to another. It feels that it
> should be a very straightforward answer with a single (or two) commands
> with
> the right extensions, but I really can't figure this out right now. I have
> several hundred pheno factors actually, so manually doing this line by line
> is not an option.
>
> My original table is approximately like this :
>
>   ID         pheno
> 1   A Breast Cancer
> 2   A  Appendicitis
> 3   A  Microcephaly
> 4   B        Polyps
> 5   B        Autism
> 6   C        Autism
> 7   D Breast Cancer
> 8   D        Polyps
> 9   D  Appendicitis
> 10  E Breast Cancer
>
>
> What I want is this :
>    ID Breast Cancer Appendicitis Microcephaly Polyps Autism  A 1 1 1   B  1
> 1  C   1  D 1  1  E 1
>
> The data is here
> data <-
> data.frame(ID=c(rep("A",3),rep("B",2),rep("C",1),rep("D",3),rep("E",1)),
> pheno=c("Breast
> Cancer","Appendicitis","Microcephaly","Polyps","Autism","Autism","Breast
> Cancer","Polyps","Appendicitis","Breast Cancer"))
>
> Thank you very much! Many apologies.
>
> Min-Han
>
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@r-project.org 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.
>

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org 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.

Reply via email to