我有一个大型的Stata数据集。在某些变量中,数据使用" "
(空格)编码,而不是使用缺失值编码。
有没有办法循环遍历数据集的每个元素并用正确的值替换它?
我需要像
这样的东西for variable in all_variables:
for sample in all_samples_of_variable:
if sample == ' ' :
replace sample with missing value
答案 0 :(得分:6)
这里的概念似乎有些混乱。问题是明确的Stata,但代码看起来很像Stata。在Stata中,空字符串""
被视为缺少字符串。仅包含一个或多个空格的字符串不是空字符串;它不常提供信息,但这是一个人类问题。
请注意,此问题只能出现在字符串变量中,因此您只需要处理这些问题。带你到你的话,空间总是意味着失踪,那么
ds, has(type string)
qui foreach v in `r(varlist)' {
replace `v' = "" if trim(`v') == ""
}
- 或几乎等同地使用
replace `v' = trim(`v')