将数据从excel复制或导入stata中经常会遇到字体红色的情况,一般是因为数据非字符。运行destring,replace经常看到
“contains nonnumeric characters; no replace”警告
这种情况最好不要贸然运用destring加force等选项,这样可能带来数值扭曲。原本仅仅格式有问题的观测值可能被软件处理成缺失值等。
最稳妥的方法是,检验到底那些数据是nonnumeric以及其特征。
命令:tab var if regexm(var,"[^0-9.]")
最常见的是发现观测值中有空格如1 001,有奇怪符号如1?001,符号错误如"."被记录成了","。
这时候可以使用替换命令:replace var=subinstr(var,"待替换","替换",.)
然后运行destring,replace(或其他选项)
注意:0.1.22之类的观测值,往往不能被tab命令识别,这时候就要sort var,肉眼识别了。这种情况少见,一旦有,观测值也不会太多,在edit模式下手工更正即可。