楼主: Behapp
295 2

stata虚拟变量生成问题 [推广有奖]

  • 0关注
  • 0粉丝

学前班

60%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
70 点
帖子
2
精华
0
在线时间
2 小时
注册时间
2022-10-29
最后登录
2024-4-21

楼主
Behapp 发表于 2024-4-11 19:13:09 来自手机 |只看作者 |坛友微信交流群|倒序 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
如何根据企业某一年的数据生成虚拟变量,例如,当企业2012年的数据大于某值时为1,小于某值时为0
二维码

扫码加我 拉你入群

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

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

关键词:Stata 变量生成 tata 虚拟变量 数据生成

沙发
Behapp 发表于 2024-4-11 19:44:32 来自手机 |只看作者 |坛友微信交流群
Behapp 发表于 2024-4-11 19:13
如何根据企业某一年的数据生成虚拟变量,例如,当企业2012年的数据大于某值时为1,小于某值时为0
根据 2016 年各企业数字化转型指数的中位数对企业<br>
进行分组,设置虚拟变量 treat 表示企业是否数字化转型,将低于该中位数的为非数字化转型企业(控制组),赋值为 0,即 treat=0;高于该中位数为数字化转型企业(实验组),赋值为 1,即 treat=1
请问这个怎么实现呀?帖子可能有些表述不当

使用道具

藤椅
Behapp 发表于 2024-4-11 19:44:35 来自手机 |只看作者 |坛友微信交流群
Behapp 发表于 2024-4-11 19:13
如何根据企业某一年的数据生成虚拟变量,例如,当企业2012年的数据大于某值时为1,小于某值时为0
根据 2016 年各企业数字化转型指数的中位数对企业<br>
进行分组,设置虚拟变量 treat 表示企业是否数字化转型,将低于该中位数的为非数字化转型企业(控制组),赋值为 0,即 treat=0;高于该中位数为数字化转型企业(实验组),赋值为 1,即 treat=1
请问这个怎么实现呀?帖子可能有些表述不当

使用道具

板凳
Behapp 发表于 2024-4-11 19:44:43 来自手机 |只看作者 |坛友微信交流群
Behapp 发表于 2024-4-11 19:13
如何根据企业某一年的数据生成虚拟变量,例如,当企业2012年的数据大于某值时为1,小于某值时为0
根据 2016 年各企业数字化转型指数的中位数对企业<br>
进行分组,设置虚拟变量 treat 表示企业是否数字化转型,将低于该中位数的为非数字化转型企业(控制组),赋值为 0,即 treat=0;高于该中位数为数字化转型企业(实验组),赋值为 1,即 treat=1

使用道具

报纸
Behapp 发表于 2024-4-11 19:44:55 来自手机 |只看作者 |坛友微信交流群
Behapp 发表于 2024-4-11 19:13
如何根据企业某一年的数据生成虚拟变量,例如,当企业2012年的数据大于某值时为1,小于某值时为0
根据 2016 年各企业数字化转型指数的中位数对企业<br>
进行分组,设置虚拟变量 treat 表示企业是否数字化转型,将低于该中位数的为非数字化转型企业(控制组),赋值为 0,即 treat=0;高于该中位数为数字化转型企业(实验组),赋值为 1,即 treat=1

使用道具

地板
Behapp 发表于 2024-4-11 19:44:59 来自手机 |只看作者 |坛友微信交流群
Behapp 发表于 2024-4-11 19:13
如何根据企业某一年的数据生成虚拟变量,例如,当企业2012年的数据大于某值时为1,小于某值时为0
根据 2016 年各企业数字化转型指数的中位数对企业<br>
进行分组,设置虚拟变量 treat 表示企业是否数字化转型,将低于该中位数的为非数字化转型企业(控制组),赋值为 0,即 treat=0;高于该中位数为数字化转型企业(实验组),赋值为 1,即 treat=1

使用道具

7
学术之光 发表于 2024-4-12 16:52:44 |只看作者 |坛友微信交流群
我不会用stata直接算,但是我会用stata和excel一起算。
stata计算2016中位数:
by year, sort: gen median_value = median(数字化转型指数)
list, sepby(year)
excel生成赋值:
先计算2016年大于中位数的企业取1,否则取0,非2016年的取0:先生成一列treat_2016,公式为:if(year=2016,if(数字化转型指数>中位数,1,0),0)
再计算treat:用sumif计算把同一企业的treat_2016加总


使用道具

8
橘子汁_ 学生认证  发表于 2024-4-18 19:59:43 |只看作者 |坛友微信交流群
bys year: egen median_value = median(数字化转型指数)
gen treat = 1 if median_value>1
replace treat = 0 if missing(treat)
其中第一行计算每一年指标中位数。第二行生成treat变量,如果指标大于中位数则取1。此时指标小于等于中位数的样本treat是缺失值,需要用第三行把缺失值转化为零。希望有帮助。

使用道具

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

本版微信群
加JingGuanBbs
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 18:44