如果仅在Stata中不存在该列时如何生成列?

时间:2015-12-10 06:01:21

标签: stata

我可以使用

创建变量logincome
generate logincome = log(income)

但是从do文件的第二次执行开始,它显示了一个错误:

variable logincome already defined

如果变量已经存在,Stata会问我是否要跳过或覆盖它,那就太棒了。

我试图找到Stata的一些if语句来执行此操作...如果logincome存在则会跳过以下行。但我的谷歌搜索没有找到类似的东西。

1 个答案:

答案 0 :(得分:3)

这类问题有很多可能的解决方案。请参阅help confirmhelp asserthelp ifcmd等。但是,一个简单的解决方案是

capture generate logincome = log(income)
如果紧随其后的命令产生错误,

capture将阻止您的代码中断。另请注意,help capture将有助于在其他(更具实质性)的情况下使用confirmassertif命令。

然而,为了更进一步,您可能希望使用clearuse语句启动您的文件,以便每次执行您在未更改的数据,然后执行您编写的命令。