【发布时间】:2021-06-25 07:15:03
【问题描述】:
在 Stata 中,我试图仅在缺少值的情况下,根据其上方或下方的一行更改一行的值(字符串和数字)。以下是一些示例数据:
input
str40 id var1 var2 var3 var4 str40 var5_string str40 var6_string
"correctly-spelled" 10 20 . . "random text 1" ""
"misspelled" . . 30 40 "" "random text 2"
end
基本上,我希望我的最终数据集如下所示:
input
id var1 var2 var3 var4 var5_string var6_string
"correctly-spelled" 10 20 30 40 "random text 1" "random text 2"
end
我需要一个特定于行的解决方案(即避免collapse),因为我的(宽)数据集有数千个标记变量,我不想因为collapse 而丢失标签。此外,并非所有变量都是数字的,变量的命名约定也不一致。因此,使用简单的replace 修复id 的拼写、执行collapse (firstnm) id var5_string var6_string (mean) var1 var2 var3 var4, by(id) 或使用var* 来解决任何问题都无济于事。基本上,发生的事情是一个人使用“拼写正确”id 合并,另一个人使用“拼写错误”id 合并,而我没有任何源文件。谢谢!
【问题讨论】:
标签: stata