r-基于任何先前时间的年龄计算



有没有办法找到这样的问题的解决方案;

如果我在2010年1月10日的年龄是2岁,那么在2012年4月10日我的年龄是多少。

向致意

只需使用difftime()计算差值,然后将年龄相加。类似这样的东西:

earlier_age <- 2
diff <- as.numeric(difftime(latest_date, earlier_date), units="years") 
#make sure that dates are actually date objects (using as.Date())
new_age <- diff + earlier_age

#So for your example:
latest_date <- as.Date("10/April/2012", format = "%d/%B/%Y")
earlier_date <- as.Date("10/jan/2010", format = "%d/%b/%Y")
earlier_age <- 2
diff <- as.numeric(difftime(latest_date, earlier_date), units="days")/365.25
new_age <- diff + earlier_age

您可以根据您的要求将单位更改为周、小时等

您可以设置日期,例如:

x <- as.Date("2010-01-10")
y <- as.Date("2012-04-10")
>y-x
Time difference of 821 days

从现在开始,再加上2年。如果这有帮助,请告诉我!

最新更新