我有一个数据集,其中缺失值编码为“缺失”。我如何重新编码这些以便 Stata 将它们识别为缺失值?当我有数字缺失值时,我一直在使用例如:
mvdecode _all, mv(99=. )
Run Code Online (Sandbox Code Playgroud)
但是,当我运行其中包含一个字符时,例如:
mvdecode _all, mv("missing"=. )
Run Code Online (Sandbox Code Playgroud)
我得到了错误missing is not a valid numlist。
mvdecode仅适用于数字变量:帮助中的横幅是“将数字值更改为缺失值”(添加了强调)。所以错误消息应该是有意义的:字符串"missing"肯定不是数值,所以 Stata 会阻止你。按照您的要求,对 Stata 说数值"missing"应更改为系统缺失是没有意义的。
至于你应该做什么,这取决于你在Stata术语中的编码 "missing"含义。
如果您引用具有文字值的字符串变量,"missing"这些变量应该被空字符串替换"",那么这将是所有字符串变量的循环:
ds, has(type string)
quietly foreach v in `r(varlist)' {
replace `v' = "" if `v' == "missing"
}
Run Code Online (Sandbox Code Playgroud)
如果您引用的是有值标签的数值变量,"missing"那么您需要找出相应的数值并在调用中使用它mvdecode。用于label list查找值和值标签之间的关联。