楼主: Rooney1989
2029 3

[Stata初级班] 连老师您好,请教一个问题 [推广有奖]

  • 1关注
  • 0粉丝

已卖:7份资源

硕士生

58%

还不是VIP/贵宾

-

威望
0
论坛币
13724 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
872 点
帖子
42
精华
0
在线时间
306 小时
注册时间
2010-7-30
最后登录
2022-4-5

楼主
Rooney1989 发表于 2014-9-10 22:41:41 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

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

谢谢!


二维码

扫码加我 拉你入群

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

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

关键词:连老师 Thailand Country Iceland noisily 老师你好 country names

沙发
arlionn 在职认证  发表于 2014-9-11 08:30:10
你把 Iceland.csv 中第一列的名称改好统一后再执行循环即可。

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

板凳
arlionn 在职认证  发表于 2014-9-14 21:26:08
可以是可以,我觉得没必要在这个细节上花费太多的时间。毕竟,这不是个通用的程序。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-2-23 01:26