我有以下数据结构。在每组内,一些观察结果缺少value
。我知道每个组只有一个非缺失值(组1的10
和组2的11
)。缺失观测的位置在组内是随机的(即,不能用前一个/后一个值填写缺失值)。如何按组填写缺失值?
如何用组中的一个非缺失值填充缺失值?
group value
1 .
1 10
1 .
2 11
2 .
2 11
我目前的解决方案是一个循环,但我怀疑有一些聪明的bysort
,我可以使用。
levelsof group, local(lm_group)
foreach group in `lm_group' {
levelsof value if group == `group', local(lm_value)
replace value = `lm_value' if group == `group'
}