我想使用年份信息来计算年龄。我有以下特征的数据集:根据年份的顺序推算年龄
dat <- data.table(id = c(rep(1, 8), rep(2, 8)),
year = c(2007:2014, 2007:2014),
age = c(1, NA, 3, NA, NA, 5, 7, NA, NA, NA, 30, NA, 32, 35, NA, NA),
age_imp= c(1, 2, 3, 4, 5, 5, 7, 8, 28, 29, 30, 31, 32, 35, 36, 37)
)
id year age age_imp
1: 1 2007 1 1
2: 1 2008 NA 2
3: 1 2009 3 3
4: 1 2010 NA 4
5: 1 2011 NA 5
6: 1 2012 5 5
7: 1 2013 7 7
8: 1 2014 NA 8
9: 2 2007 NA 28
10: 2 2008 NA 29
11: 2 2009 30 30
12: 2 2010 NA 31
13: 2 2011 32 32
14: 2 2012 35 35
15: 2 2013 NA 36
16: 2 2014 NA 37
原始变量age
并不总是与一个每年持续时间(例如,一个采访比以前的采访中,测量误差等,一年少加)所以我想保持它的样子。对于NA行,我想逐年开始一个序列(例如,age_imp
)。
有关如何做到这一点的任何建议?
在新的例子,你要归咎于两列? – akrun