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