全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 统计软件培训班VIP答疑区
1961 3
2014-09-10

连老师,您好!
我写了如下循环语句,需要把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)有没有更好的解决办法?

谢谢!


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-9-11 08:30:10
你把 Iceland.csv 中第一列的名称改好统一后再执行循环即可。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-9-12 18:25:04
arlionn 发表于 2014-9-11 08:30
你把 Iceland.csv 中第一列的名称改好统一后再执行循环即可。
你是说手动打开Iceland.csv文件,在Excel里面修改第一列变量名吗?
能不能直接在stata里面写code实现统一修改第一列变量名?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-9-14 21:26:08
可以是可以,我觉得没必要在这个细节上花费太多的时间。毕竟,这不是个通用的程序。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群