stei@@@duke m@iii@g oii gm@ii@com
2020-Feb-12 21:11 UTC
[R] Aggregate individual level data to age categories
well, if I think about, its actually a simple frequency table grouped by age. but it should be usable a matrix or data frame. On Wed, Feb 12, 2020 at 9:48 PM <cpolwart at chemo.org.uk> wrote:> > So a pivot table? > > On 12 Feb 2020 20:39, stefan.duke at gmail.com wrote: > > Dear All, > > I have a seemingly standard problem to which I somehow I do not find > a simple solution. I have individual level data where x is a > categorical variable with 3 categories which I would like to aggregate > by age. > > age x > 45 1 > 45 2 > 46 1 > 47 3 > 47 3 > and so on. > > It should after transformation look like that > > age x_1 x_2 x_3 > 45 1 0 1 > 46 1 0 0 > 47 0 0 2 > > Basically to calculate prevalences by age categories. > > Thanks for any pointers! > > Cheers! > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. > >
William Dunlap
2020-Feb-12 21:25 UTC
[R] Aggregate individual level data to age categories
You didn't say how you wanted to use it as a data.frame, but here is one way d <- data.frame( check.names = FALSE, age = c(45L, 45L, 46L, 47L, 47L), x = c(1L, 2L, 1L, 3L, 3L)) with(d, as.data.frame(table(age,x))) which gives: age x Freq 1 45 1 1 2 46 1 1 3 47 1 0 4 45 2 1 5 46 2 0 6 47 2 0 7 45 3 0 8 46 3 0 9 47 3 2 Bill Dunlap TIBCO Software wdunlap tibco.com On Wed, Feb 12, 2020 at 1:12 PM stefan.duke at gmail.com <stefan.duke at gmail.com> wrote:> well, if I think about, its actually a simple frequency table grouped > by age. but it should be usable a matrix or data frame. > > On Wed, Feb 12, 2020 at 9:48 PM <cpolwart at chemo.org.uk> wrote: > > > > So a pivot table? > > > > On 12 Feb 2020 20:39, stefan.duke at gmail.com wrote: > > > > Dear All, > > > > I have a seemingly standard problem to which I somehow I do not find > > a simple solution. I have individual level data where x is a > > categorical variable with 3 categories which I would like to aggregate > > by age. > > > > age x > > 45 1 > > 45 2 > > 46 1 > > 47 3 > > 47 3 > > and so on. > > > > It should after transformation look like that > > > > age x_1 x_2 x_3 > > 45 1 0 1 > > 46 1 0 0 > > 47 0 0 2 > > > > Basically to calculate prevalences by age categories. > > > > Thanks for any pointers! > > > > Cheers! > > > > ______________________________________________ > > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > > 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. > > > > > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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]]
stei@@@duke m@iii@g oii gm@ii@com
2020-Feb-12 21:45 UTC
[R] Aggregate individual level data to age categories
Thank you, this is already very helpful. But how do I get it in the form age var_x=1 var_x=2 var_x=3 45 1 1 0 46 1 0 0 So it would be a data frame with 4 variables. Cheers! On Wed, Feb 12, 2020 at 10:25 PM William Dunlap <wdunlap at tibco.com> wrote:> > You didn't say how you wanted to use it as a data.frame, but here is one way > > d <- data.frame( > check.names = FALSE, > age = c(45L, 45L, 46L, 47L, 47L), > x = c(1L, 2L, 1L, 3L, 3L)) > with(d, as.data.frame(table(age,x))) > > which gives: > age x Freq > 1 45 1 1 > 2 46 1 1 > 3 47 1 0 > 4 45 2 1 > 5 46 2 0 > 6 47 2 0 > 7 45 3 0 > 8 46 3 0 > 9 47 3 2 > > Bill Dunlap > TIBCO Software > wdunlap tibco.com > > > On Wed, Feb 12, 2020 at 1:12 PM stefan.duke at gmail.com <stefan.duke at gmail.com> wrote: >> >> well, if I think about, its actually a simple frequency table grouped >> by age. but it should be usable a matrix or data frame. >> >> On Wed, Feb 12, 2020 at 9:48 PM <cpolwart at chemo.org.uk> wrote: >> > >> > So a pivot table? >> > >> > On 12 Feb 2020 20:39, stefan.duke at gmail.com wrote: >> > >> > Dear All, >> > >> > I have a seemingly standard problem to which I somehow I do not find >> > a simple solution. I have individual level data where x is a >> > categorical variable with 3 categories which I would like to aggregate >> > by age. >> > >> > age x >> > 45 1 >> > 45 2 >> > 46 1 >> > 47 3 >> > 47 3 >> > and so on. >> > >> > It should after transformation look like that >> > >> > age x_1 x_2 x_3 >> > 45 1 0 1 >> > 46 1 0 0 >> > 47 0 0 2 >> > >> > Basically to calculate prevalences by age categories. >> > >> > Thanks for any pointers! >> > >> > Cheers! >> > >> > ______________________________________________ >> > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >> > 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. >> > >> > >> >> ______________________________________________ >> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >> 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.