Ich bin auf der Suche nach einer Methode, um Alter abzuleiten, die genau mit dem Geburtsdatum = 29. Februar. Ich habe versucht, die new_interval
Funktion auf dem lubridate
Paket zu verwenden, aber für ein Kind geboren am 29.02.2004, gibt es am 28.02.2006 ein Alter von 2 Jahren. Das Kind wäre am 01. März 2006 2 Jahre alt.
Ich habe auch versucht, mit der decimal_date
Funktion, aber das gibt mir einen Fehler, wenn Datum = 01-Jan-2006.Ableiten Alter, wo Geburtsdatum = 29. Februar
Ich bin mit R-Version 2.15.3 (2013.03.01) - "Sicherheit Blanket"
Hier ist mein Code:
library (lubridate)
MyTable <- data.frame(Eval.Date = c(as.Date("2006-01-01"),
as.Date(0:5, origin = "2006-02-26")),
Birth.Date = as.Date("2004-02-29"))
MyTable$Age <- floor(new_interval(MyTable$Birth.Date, MyTable$Eval.Date)/
duration(num = 1, units = "years"))
MyTable$DecDate <- decimal_date(MyTable$Eval.Date)
MyTable[,c("Birth.Date","Eval.Date","Age","DecDate")]
Ausgang:
Birth.Date Eval.Date Age DecDate
1 2004-02-29 2006-01-01 1 NaN
2 2004-02-29 2006-02-26 1 2006.153
3 2004-02-29 2006-02-27 1 2006.156
4 2004-02-29 2006-02-28 2 2006.159
5 2004-02-29 2006-03-01 2 2006.162
6 2004-02-29 2006-03-02 2 2006.164
7 2004-02-29 2006-03-03 2 2006.167
Hilfe entweder mit decimal_date
oder die Altersberechnung wird geschätzt.
Danke!
Konventionen auf, was die dob wäre ist länderabhängig. In Neuseeland ist gesetzlich festgelegt, dass der 28. zur legalen Erwachsenwerdung verwendet wird. (Der Autor des Pakets stammt aus NZ) – mnel