Stata用缺少的值替换“”

时间:2014-09-30 10:14:18

标签: stata

我有一个大型的Stata数据集。在某些变量中,数据使用" "(空格)编码,而不是使用缺失值编码。

有没有办法循环遍历数据集的每个元素并用正确的值替换它?

我需要像

这样的东西
for variable in all_variables:
   for sample in all_samples_of_variable:
       if sample == ' ' :
          replace sample with missing value

1 个答案:

答案 0 :(得分:6)

这里的概念似乎有些混乱。问题是明确的Stata,但代码看起来很像Stata。在Stata中,空字符串""被视为缺少字符串。仅包含一个或多个空格的字符串不是空字符串;它不常提供信息,但这是一个人类问题。

请注意,此问题只能出现在字符串变量中,因此您只需要处理这些问题。带你到你的话,空间总是意味着失踪,那么

 ds, has(type string) 

 qui foreach v in `r(varlist)' { 
     replace `v' = "" if trim(`v') == "" 
 } 

- 或几乎等同地使用

     replace `v' = trim(`v')