[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