【发布时间】:2017-06-08 17:53:53
【问题描述】:
我的数据有一个关于基线年龄的变量,以及一个关于基线观察后月数的后续变量。两者都是只有整数的数字向量。我想计算随访时的年龄。当我使用 lubridate 将这些变量解析为周期对象并将它们相加时,我得到的结果类似于 5 年 14 个月。理想情况下 - 我希望这是 6 年 2 个月。
例子
library(dplyr)
library(lubridate)
library(magrittr)
set.seed(080617)
df <-
tibble(year = sample(20),
month = sample(20))
df %<>%
mutate(year = years(year)) %>%
mutate(month = months(month)) %>%
mutate(age = (year + month))
df
我尝试使用df$age <- as.period(df$age, units = "years") 无济于事。
有什么建议吗?
【问题讨论】:
-
我建议在您的月份变量上使用
%/%和%%运算符,并使用 12 作为基数。例如,13 %/% 12等于 1,13 %% 12也等于 1,这意味着它是 1 年 1 个月。您应该能够在计算year和month时使用这些。