楼主: 雯雯517
11486 4

[编程问题求助] stata如何写带条件语句的循环 [推广有奖]

  • 0关注
  • 0粉丝

大专生

53%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
638 点
帖子
15
精华
0
在线时间
75 小时
注册时间
2016-3-7
最后登录
2020-12-4

楼主
雯雯517 发表于 2017-12-19 19:49:37 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

这是我的数据结构
二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 如何写

沙发
雯雯517 发表于 2017-12-19 19:54:20
这是我的数据结构,第一列citycode 代表现在居住地,第二列代表14岁之后第一次迁移的时间(mig1_year),第三列代表14岁之后第一迁移进的地区(mig1_citycode),如果第一次迁移的地区与现居住地不一致,则继续询问第二次迁移的时间和第二次迁移的地区,以此类推,一共问了10次迁移。我想要写个程序,生成一个新的变量arrivel_year,使得它代表迁入现在居住地(也就是最后一次迁移)的年份。我写的程序如下:
gen Arrival_year=.
forvalues I=1/10 {
   replace arrival_year=mig`i'_year if citycode=mig`i'_citycode
}
但是一直报错说语法错误。请大神帮帮忙,在线等!

藤椅
雯雯517 发表于 2017-12-19 19:54:47
着急,请大神指教。在线等!!

板凳
arikjin 在职认证  发表于 2017-12-20 07:14:02 来自手机
if 后面断行应该有///,表示和下一行是一个命令分两行在写。另外,if下面这行里的=应该写为==,表示这是逻辑判断。
已有 1 人评分热心指数 信用等级 收起 理由
呼呼兔的胡图图 + 1 + 1 热心帮助其他会员

总评分: 热心指数 + 1  信用等级 + 1   查看全部评分

报纸
呼呼兔的胡图图 学生认证  发表于 2019-4-25 13:03:37
我同意楼上的说法。补充一点,Stata对大小写是敏感的,所以可以试试下方的代码
  1. gen Arrival_year=.
  2. forvalues i=1/10 {
  3.    replace arrival_year=mig`i'_year if citycode==mig`i'_citycode
  4. }
复制代码

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-24 18:50