【发布时间】:2022-12-30 02:00:18
【问题描述】:
我有一个包含长格式纵向数据的数据集。对于每个 id,我都有自他们的基线评估以来的年数。对于某些评估,我有它发生的年份,但并非所有评估都有此信息。我正在尝试根据两次评估之间的间隔时间来填补缺失的年份。
id years_since_baseline study_year
1 1 3.09 NA
2 1 3.87 NA
3 1 4.91 2021
4 1 6.36 NA
5 2 0 2018
6 2 1.02 NA
7 2 2.40 NA
8 3 13.9 NA
9 3 15.0 NA
10 3 15.71 2017
理想情况下,我可以使用 years_since_baseline(例如,对于第 6 行,study_year = 2018 + 1.02 = 2019.02)来计算缺失的学习年份,结果如下所示:
id years_since_baseline study_year
1 1 3.09 2019.08
2 1 3.87 2019.96
3 1 4.91 2021
4 1 6.36 2022.45
5 2 0 2018
6 2 1.02 2019.02
7 2 2.40 2020.40
8 3 13.9 2015.19
9 3 15.0 2016.29
10 3 15.71 2017
然而,带有年份信息的评估因 id 而异——有些将其作为第一次评估,有些在中间,有些在最后一次评估。此外,我还必须计算每次评估之间经过的时间。
我尝试使用 group_by、fill 和 lag 的组合来计算缺失的年份,但没有成功。
【问题讨论】:
标签: r dplyr time missing-data