楼主: Zhouziyao123
2680 4

[统计软件] stata如何在if中表达if? [推广有奖]

  • 0关注
  • 0粉丝

大专生

71%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.7501
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
155 点
帖子
11
精华
0
在线时间
124 小时
注册时间
2021-11-1
最后登录
2026-1-5

楼主
Zhouziyao123 发表于 2022-3-22 12:08:58 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
例如我有一份2004-2019的面板数据,想按异质性分类回归。而我只想按2004年的不同进行分类,即想表达“keep 样本 if Y(在year==2004时)<M”。“keep if Y<M & y==2004” 是行不通的,因为这样只保留了2004年的观测值,而我想要符合2004年的条件的样本的所有年份观测值。谢谢!!
二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 面板数据 REG 异质性

沙发
Thomas卓 发表于 2022-3-23 21:51:33
感觉楼主把问题描述的较为复杂,不是特别理解。如果楼主是想在回归分析的过程中,区分2004和2005-2019数据,那么只需要在回归命令加上if条件即可。可以考虑gen 虚拟变量=1 if year==2004,replace 虚拟变量=0 if 2004<year;然后reg y x1 x2 if 虚拟变量==1,reg y x1 x2 if 虚拟变量==0

藤椅
Zhouziyao123 发表于 2022-3-23 23:34:25
Thomas卓 发表于 2022-3-23 21:51
感觉楼主把问题描述的较为复杂,不是特别理解。如果楼主是想在回归分析的过程中,区分2004和2005-2019数据 ...
好的,非常感谢!我解决了!代码是:
gen dummy=1 if y==2004
replace dummy=0 if dummy==1&变量<=xxx
forvalues i=2005/2019{
bys c: replace dummy=dummy[_n-1] if y==`i'
}

板凳
lzsxy2009 发表于 2022-3-31 22:37:27
分开做两条命令就行了

报纸
Zhouziyao123 发表于 2022-4-6 16:37:03
lzsxy2009 发表于 2022-3-31 22:37
分开做两条命令就行了
谢谢!

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

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-6 10:32