楼主: kakakarine
1720 5

[编程问题求助] STATA 根据现有多个变量创建有多值的新变量 [推广有奖]

  • 0关注
  • 0粉丝

小学生

78%

还不是VIP/贵宾

-

威望
0
论坛币
882 个
通用积分
0.0203
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
89 点
帖子
6
精华
0
在线时间
6 小时
注册时间
2019-6-5
最后登录
2023-1-18

楼主
kakakarine 发表于 2023-1-17 09:53:30 |AI写论文
100论坛币
现有变量Var1,Var2 ,Var3 ,Var4; 想要创建新变量Var_New:
如果Var1=1 & Var2=1 & Var3=1 & Var 4=1; 那么Var_New=1
如果Var1=2 & Var2=2 & Var3=2 & Var4=2; 那么 Var_New=2
如果Var1=1 & Var2=2 & Var3=1& Var4=2; 那么 Var_New=3

本小白试着写的码:
Gen Var_New=1 if Var1==1 & Var2==1 & Var3==1 & Var 4==1
Gen Var_New=2 if Var1==2 & Var2==2 & Var3==2 & Var 4==2

但是运行第二行Var_New=2的码时,日志显示Var_New已经被定义,所以想在这里请教如何根据已有的多个变量创建有多个值的新变量,谢谢!


关键词:Stata 多个变量 tata 新变量 VaR

沙发
蓝色 发表于 2023-1-17 10:05:01
第二次以后都是replace

藤椅
kakakarine 发表于 2023-1-18 02:36:07
已经解决啦!

Gen Var_New=.

replace Var_New=1 if Var1==1 & Var2==1
replace Var_New=2 if Var1==2 & Var2==2
...

板凳
kakakarine 发表于 2023-1-18 02:37:01
蓝色 发表于 2023-1-17 10:05
第二次以后都是replace
对的,不过一开始的gen要写成 Gen Var_New=.

报纸
fugangxx 在职认证  发表于 2023-1-18 14:54:50
egen aa = diff(Var1 Var2 Var3  Var4)
当以上4个变量均相等时,aa = 0
gen Var_New=.
然后replace  Var_New = Var1 if  aa == 0

地板
热爱经济学的小树 学生认证  发表于 2023-2-13 09:35:22
gen Var_New=1 if Var1==1 & Var2==1 & Var3==1 & Var 4==1
replace Var_New=2 if Var1==2 & Var2==2 & Var3==2 & Var 4==2
replace Var_New=3 if Var1==1 & Var2==2 & Var3==1 & Var 4==2

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

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