Wie kann ich eine neue Gruppierungsvariable für meine Daten basierend auf 5-Jahres-Schritten erstellen?Erstellen von Gruppen basierend auf dem Zeitraum
So hieraus:
group <- c(rep("A", 7), rep("B", 10))
year <- c(2008:2014, 2005:2014)
dat <- data.frame(group, year)
group year
1 A 2008
2 A 2009
3 A 2010
4 A 2011
5 A 2012
6 A 2013
7 A 2014
8 B 2005
9 B 2006
10 B 2007
11 B 2008
12 B 2009
13 B 2010
14 B 2011
15 B 2012
16 B 2013
17 B 2014
Um dies:
> dat
group year period
1 A 2008 2005_2009
2 A 2009 2005_2009
3 A 2010 2010_2014
4 A 2011 2010_2014
5 A 2012 2010_2014
6 A 2013 2010_2014
7 A 2014 2010_2014
8 B 2005 2005_2009
9 B 2006 2005_2009
10 B 2007 2005_2009
11 B 2008 2005_2009
12 B 2009 2005_2009
13 B 2010 2010_2014
14 B 2011 2010_2014
15 B 2012 2010_2014
16 B 2013 2010_2014
17 B 2014 2010_2014
Ich glaube, ich cut(dat$year, breaks = ??)
verwenden könnte, aber ich weiß nicht, wie die Pausen zu setzen.
Sehr schön gemacht. Ich denke, es wird schwer sein, diese eine Effizienz weise zu schlagen. –
Danke, funktioniert gut für mein Beispiel. Aber ist es möglich, sich auf Intervalle von z.B. 10 Jahre (erstellt ein Intervall 2010_1019 wenn ich es versuche)? – beetroot
10 Jahre arbeiten auch für mich: 'paste (min <- floor (dat $ Jahr/10) * 10, min + 9, sep =" _ ")'. Schöne Lösung! – fdetsch