[R] problem with cbind
Gabor Grothendieck
ggrothendieck at gmail.com
Thu May 28 03:58:37 CEST 2009
Try this where Age.Group is a factor whose
levels represent the columns of out and Seq is
a sequence number labeling the first Name
in each Age.Group 1, the second 2 and
so on.
> DF <- data.frame(Name = LETTERS, Age = 1:26)
> DF$Age.Group <- cut(DF$Age, seq(0, 30, 10))
> DF$Seq <- with(DF, ave(seq_along(Name), Age.Group, FUN = seq_along))
> out <- tapply(DF$Name, DF[c("Seq", "Age.Group")], paste)
> out[is.na(out)] <- ""
> out
Age.Group
Seq (0,10] (10,20] (20,30]
1 "A" "K" "U"
2 "B" "L" "V"
3 "C" "M" "W"
4 "D" "N" "X"
5 "E" "O" "Y"
6 "F" "P" "Z"
7 "G" "Q" ""
8 "H" "R" ""
9 "I" "S" ""
10 "J" "T" ""
On Wed, May 27, 2009 at 1:27 PM, kayj <kjaja27 at yahoo.com> wrote:
>
> Hi All,
>
> I have a file with two columns, the first column has the names of the
> patients and the second column has the age. I am looking into creating an
> output file that looks like
>
> 1-10 10-20 etc
> Eric Chris
> Bob mat
> Andrew
> Suzan
>
>
> Where each column has the name of the patients in a given age category that
> is displayed in the header. For example in the output, the first column has
> the name of the patients with age between 1 to 10.
>
> The problem that I am having is that I can not use cbind since the length of
> the vectors is different. Is there a way to create such a file?
>
> Thanks for your help
>
>
>
> --
> View this message in context: http://www.nabble.com/problem-with-cbind-tp23747075p23747075.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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.
>
More information about the R-help
mailing list