连老师,您好!
我写了如下循环语句,需要把9个csv文件轮流导入stata, 把第一列变量名(一般情况下叫做name)改成country,最后保存为dta文件
foreachvar in Brazil Thailand Bulgaria Romania Cyprus Estonia HungarySwedenIceland {
insheetusing `var'.csv, names clear
renname country
save`var', replace
}
问题出在Iceland.csv里面,第一列变量名不叫做name而叫做y,导致循环到Iceland的时候整个循环终止了。
我尝试用
方法一:
把ren name country
换成
capnoisily ren name country
capnoisily ren y country
方法二:
把ren name country
换成
cap ren name country
if _rc~=0 {
ren y country
exit _rc
}
问题似乎解决了,循环可以进行下去。
可是我不是很满意上述两种办法。
1)有没有办法强行指定第一个变量,然后改变第一个变量的变量名?
2)有没有更好的解决办法?
谢谢!