首页 > 解决方案 > 如何使用其他观测值 R 或 Stata 填写观测值

问题描述

我有一个这样的数据集:

ID dum1 dum2 dum3 var1
1  0    1    .    hi
1  0    .    0    hi
2  1    .    .    bye
2  0    0    1    .

我想要做的是,ID如果缺少观察结果,我想根据相同的信息填写信息。所以我的最终产品会是这样的:

ID dum1 dum2 dum3 var1
1  0    1    0    hi
1  0    1    0    hi
2  1    0    1    bye
2  0    0    1    bye

有什么办法可以在 R 或 Stata 中做到这一点?

标签: rstata

解决方案


假设您的数据在df

library(dplyr)
df %>%
  group_by(ID) %>% 
  mutate(dum1=dum1[dum1!="."][1], 
  dum2=dum2[dum2!="."][1], 
  dum3=dum3[dum3!="."][1], 
  var1=var1[var1!="."][1])

推荐阅读