楼主: 哈皮朋友
19457 10

[编程问题求助] 关于stata中if循环语句的写法 [推广有奖]

  • 5关注
  • 9粉丝

已卖:1份资源

学科带头人

3%

还不是VIP/贵宾

-

威望
0
论坛币
5436 个
通用积分
18.7319
学术水平
9 点
热心指数
10 点
信用等级
5 点
经验
17315 点
帖子
969
精华
0
在线时间
879 小时
注册时间
2011-11-11
最后登录
2025-8-19

楼主
哈皮朋友 发表于 2016-1-10 19:55:44 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
大家好,最近刚开始学习stata的编程。有个小小的编程问题,比如说,我想让1代表1998,2代表1999,3代表2000,依次类推。那么这个是不是需要用到一个循环语句?实在不会,请高手明示,谢谢。只会每次从头到尾更改一遍,有点伤神。
二维码

扫码加我 拉你入群

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

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

关键词:Stata 循环语句 tata 小小的 大家好

沙发
hyu9910 在职认证  发表于 2016-1-10 20:38:36
如果是变量的全部样本值得处理,可能避免循环的吧。

STATA的循环结构,熟悉了还是挺灵活的。

或者可以考虑有些数据操作避免STATA中处理,譬如在EXCEL中处理
已有 1 人评分论坛币 热心指数 收起 理由
哈皮朋友 + 5 + 1 观点有启发

总评分: 论坛币 + 5  热心指数 + 1   查看全部评分

藤椅
j610f2012 在职认证  发表于 2016-1-10 21:16:16
gen var=var1+1997
已有 2 人评分经验 论坛币 热心指数 收起 理由
哈皮朋友 + 5 + 1 精彩帖子
夏目贵志 + 5 + 1 热心帮助其他会员

总评分: 经验 + 5  论坛币 + 5  热心指数 + 2   查看全部评分

板凳
夏目贵志 发表于 2016-1-11 01:53:11
stata自带的日期型变量就是用整数表示日期的。一般来说不用特意去改动。
已有 1 人评分论坛币 热心指数 收起 理由
哈皮朋友 + 5 + 1 热心帮助其他会员

总评分: 论坛币 + 5  热心指数 + 1   查看全部评分

报纸
哈皮朋友 发表于 2016-1-11 19:52:56
夏目贵志 发表于 2016-1-11 01:53
stata自带的日期型变量就是用整数表示日期的。一般来说不用特意去改动。
我的数据是一个指标,N个地区M年的,然后借助stata排成一列。目前会的,就是一年一年的替代,就是有点麻烦。谢谢你的回答

地板
哈皮朋友 发表于 2016-1-11 23:10:10
j610f2012 发表于 2016-1-10 21:16
gen var=var1+1997
你的建议很不错,可以考虑。但是,如果这样写的话,如果VAR1只有30个数字,但是用你提供的命令的话,那个VAR从第31个数开始,后面的每个都是1997。但是,我需要的是VAR和VAR1都应该只有30个数字呢。望继续赐教。

7
哈皮朋友 发表于 2016-1-11 23:10:14
j610f2012 发表于 2016-1-10 21:16
gen var=var1+1997
你的建议很不错,可以考虑。但是,如果这样写的话,如果VAR1只有30个数字,但是用你提供的命令的话,那个VAR从第31个数开始,后面的每个都是1997。但是,我需要的是VAR和VAR1都应该只有30个数字呢。望继续赐教。

8
哈皮朋友 发表于 2016-1-11 23:24:59
hyu9910 发表于 2016-1-10 20:38
如果是变量的全部样本值得处理,可能避免循环的吧。

STATA的循环结构,熟悉了还是挺灵活的。
非常感谢你的建议。还是希望能够很好地掌握stata的相关操作

9
哈皮朋友 发表于 2016-1-12 08:44:35
哈皮朋友 发表于 2016-1-11 23:10
你的建议很不错,可以考虑。但是,如果这样写的话,如果VAR1只有30个数字,但是用你提供的命令的话,那个 ...
睡了一觉,想想,其实可以将命令改写为 replace year=year+1997。这样的话,不会存在我刚才的那个疑问。了。早上刚刚演练了一下,确实没有问题。再次感谢你的宝贵建议。

10
j610f2012 在职认证  发表于 2016-1-14 10:49:45
哈皮朋友 发表于 2016-1-11 23:10
你的建议很不错,可以考虑。但是,如果这样写的话,如果VAR1只有30个数字,但是用你提供的命令的话,那个 ...
把1997的内容删了就行了啊

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

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