楼主: zdslx2011
51587 13

[一般统计问题] stata中怎么实现gen新变量=变量1if条件 =变量2 if另一条件 [推广有奖]

  • 0关注
  • 2粉丝

已卖:3份资源

讲师

48%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
32.9583
学术水平
0 点
热心指数
2 点
信用等级
0 点
经验
1676 点
帖子
27
精华
0
在线时间
1051 小时
注册时间
2015-12-2
最后登录
2024-6-26

楼主
zdslx2011 发表于 2017-6-12 21:40:15 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我在两个if语句中间加了&,显示错误,只用一个if一半是对的,这种怎么解决?谢谢
二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 新变量

沙发
lz3132302123 学生认证  发表于 2017-6-13 00:49:15 来自手机
zdslx2011 发表于 2017-6-12 21:40
我在两个if语句中间加了&,显示错误,只用一个if一半是对的,这种怎么解决?谢谢
gen x=x_new if var1==a & var2==b

藤椅
zdslx2011 发表于 2017-6-13 11:13:30
lz3132302123 发表于 2017-6-13 00:49
gen x=x_new if var1==a & var2==b
这个会显示x_new找不到,gen x=y if 条件1        =z if 条件2这两条怎么合在一起,gen x=y if 条件1  然后
gen x=x_new if 条件2 显示x_new找不到,直接gen x=x_new y if 条件1&z 条件2 也是显示x_new找不到

板凳
zyp860107 在职认证  学生认证  发表于 2017-6-13 21:33:30
zdslx2011 发表于 2017-6-13 11:13
这个会显示x_new找不到,gen x=y if 条件1        =z if 条件2这两条怎么合在一起,gen x=y if 条件1  然 ...
x_new表示你新命名的变量

报纸
zdslx2011 发表于 2017-6-13 21:45:59
zyp860107 发表于 2017-6-13 21:33
x_new表示你新命名的变量
我的意思是这样的: if{条件1
gen mz14=mz12}
else  if{条件2
gen mz14=mz10
}
生成新的变量mz14在条件1下等于mz12,条件2下等于mz10这种写法会出现=exp not allowed,最后执行gen mz14=mz10,怎么解决啊,谢谢

地板
zdslx2011 发表于 2017-6-13 21:48:56
zyp860107 发表于 2017-6-13 21:33
x_new表示你新命名的变量
gen x=x_new if var1==a & var2==b
这样是gen mz10=mz14 if 条件1&gen mz12=mz14 if 条件2,这也不对啊

7
夏目贵志 发表于 2017-6-14 02:15:06
zdslx2011 发表于 2017-6-13 21:45
我的意思是这样的: if{条件1
gen mz14=mz12}
else  if{条件2
gen mz14=mz12*(condition1)+mz10*(condition2)

8
蓝色 发表于 2017-6-14 07:31:11
不要把问题搞的太复杂。学会用基础的命令。

gen         mz14=mz12   if   条件1
replace  mz14=mz10    if   条件2






已有 3 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
小圆饼叻 + 1 + 1 + 1 精彩帖子
尐海煋 + 1 + 2 + 2 + 2 精彩帖子
黃河泉 + 2 + 2 + 2 热心帮助其他会员

总评分: 论坛币 + 1  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

9
zdslx2011 发表于 2017-6-14 10:00:36
夏目贵志 发表于 2017-6-14 02:15
gen mz14=mz12*(condition1)+mz10*(condition2)
问题已解决,感谢回复

10
zdslx2011 发表于 2017-6-14 10:01:05
蓝色 发表于 2017-6-14 07:31
不要把问题搞的太复杂。学会用基础的命令。

gen         mz14=mz12   if   条件1
万分感谢,用这种方法问题解决了,上次用replace命令也出错了,看到你的才发现我的replace命令写错了一点。

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

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