我正在清理一些纵向数据,我有几个丢失的案例。我正在尝试使用一种插补,该插补结合了缺失案例之前和之后的观察结果。我想知道如何解决下面详述的问题。
我一直试图将问题分解为更小、更易于管理的操作和对象,但是,我不断逼迫我使用基于缺失值上方和下方的行的条件格式的解决方案,坦率地说,我我对如何做到这一点有点茫然。如果您认为您知道我可以使用、试验的一种好技术,或者如果您知道我在查找解决方案时可以使用的任何好的搜索词,我希望得到一些指导。
详情如下:
#Fake dataset creation
id <- c(1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,4,4,4,4,4)
time <-c(0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6)
ss <- c(1,3,2,3,NA,0,0,2,4,0,NA,0,0,0,4,1,2,4,2,3,NA,2,1,0,NA,NA,0,0)
mydat <- data.frame(id, time, ss)
*粗体字符代表上述数据集的变化
这里的目标是找到一种方法来获取 ID #1(变量 ss)的 NA 值之前 (3) 和之后 (0) 的值的平均值,以便数据看起来像这样:
1,3,2,3 , 1.5 ,0,0,
ID# 2(变量 ss)应如下所示:
2,4,0, 0 ,0,0,0
ID # 3(变量 ss)应该使用最后的观察结转方法,所以它需要看起来像这样:
4,1,2,4,2,3,3
ID #4(变量 ss)有两个连续的 NA 值,不应更改。稍后将在我的项目中标记它以进行不同的分析。所以,它应该是这样的:
2,1,0,NA,NA,0,0(没有变化)。