[R] Apologies : question on transforming a table

David Winsemius dwinsemius at comcast.net
Thu May 6 21:47:29 CEST 2010


On May 6, 2010, at 3:27 PM, Min-Han Tan 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
>

On the off-chance, as it were, that you really want what comes across  
after html posting...

c("ID", data$pheno, unlist(sapply(1:length(tid), function(x)  
c(names(tid[x]), rep(1, tid[[x]])))) )

  [1] "ID"             "Breast\nCancer" "Appendicitis"   "Microcephaly"
  [5] "Polyps"         "Autism"         "Autism"         "Breast 
\nCancer"
  [9] "Polyps"         "Appendicitis"   "Breast Cancer"  "A"
[13] "1"              "1"              "1"              "B"
[17] "1"              "1"              "C"              "1"
[21] "D"              "1"              "1"              "1"
[25] "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 at 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.

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list