我可以使用
创建变量logincome
generate logincome = log(income)
但是从do文件的第二次执行开始,它显示了一个错误:
variable logincome already defined
如果变量已经存在,Stata会问我是否要跳过或覆盖它,那就太棒了。
我试图找到Stata的一些if
语句来执行此操作...如果logincome
存在则会跳过以下行。但我的谷歌搜索没有找到类似的东西。
答案 0 :(得分:3)
这类问题有很多可能的解决方案。请参阅help confirm
,help assert
,help ifcmd
等。但是,一个简单的解决方案是
capture generate logincome = log(income)
如果紧随其后的命令产生错误, capture
将阻止您的代码中断。另请注意,help capture
将有助于在其他(更具实质性)的情况下使用confirm
,assert
和if
命令。
然而,为了更进一步,您可能希望使用clear
和use
语句启动您的文件,以便每次执行您在未更改的数据,然后执行您编写的命令。