使用两个不同格式的基准来计算年龄

时间:2019-02-06 08:56:01

标签: r

我在计算所有参与者的年龄时遇到问题。

我仅以月份和年份(XX / XXXX)记录了出生日期,并且我记录了数据的确切日期(XX / XX / XXXX)。

我想使用eeptools软件包中的age_calc函数来计算年龄。 不幸的是,某些事情不起作用。我怀疑是因为一个日期是准确的,而另一个日期没有指定确切的日期。

这是我尝试过的:

df$birthdate <- as.Date(df$birthdate)
df$visitdate <- as.Date(df$visitdate)
age <- age_calc(df$birthdate,enddate=df$visitdate, unit="year")

我得到的答复是: “ dob和enddate都必须是Date类对象”。

所以我在想的是将出生日期更改为始终是每月的第一天,以便使其正常工作。不幸的是,我不知道该怎么做。有人可以帮忙吗?有没有更好的方法来解决此问题?

提前谢谢! 卢卡斯

1 个答案:

答案 0 :(得分:0)

您需要使用paste0()才能将日期添加到日期:

as.Date(paste0(df$brthdat, "-01"))

所以:

df$brthdat <- as.Date(paste0(df$brthdat, "-01"))
df$visitdate <- as.Date(df$visitdate)

library(eeptools)
age <- age_calc(df$birthdate,enddate=df$visitdate, unit="year", precise = FALSE)