1293 2

[编程问题求助] if 多个变量赋值相等,则生成新变量赋值为0 [推广有奖]

  • 1关注
  • 2粉丝

已卖:92份资源

讲师

19%

还不是VIP/贵宾

-

威望
0
论坛币
49532 个
通用积分
107.4776
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
48689 点
帖子
87
精华
0
在线时间
693 小时
注册时间
2017-6-20
最后登录
2025-12-13

楼主
分田分地真忙 发表于 2021-5-10 21:53:30 |AI写论文
30论坛币
数据中有14个变量,分别是da007_1_-da007_14_

我想生成一个变量chron,当这14个变量赋值都为2时,则chron赋值为0
我写的是
gen chron=.
replace chron=0 if inlist(da007_1_, 2) & inlist(da007_2_, 2) & inlist(da007_3_, 2) & inlist(da007_4_, 2) & inlist(da007_5_, 2) & inlist(da007_6_, 2) & inlist(da007_7_, 2) & inlist(da007_8_, 2) & inlist(da007_9_, 2) & inlist(da007_10_, 2) & inlist(da007_11_, 2) & inlist(da007_12_, 2) & inlist(da007_13_, 2) & inlist(da007_14_, 2)
当变量很多时太长了,请问有没有更简洁的办法或者函数呢?

最佳答案

黃河泉 查看完整内容

1. 请 ssc install egenmore, 并试试2. (尔后) 你若要问程序,请用 (ssc install) dataex 附上相关`代表性’资料 (请尽量不要用截图或其他格式),以供回答者实验之用。请参考说明 https://bbs.pinggu.org/thread-5048204-1-1.html 或https://zhuanlan.zhihu.com/p/29911577。
关键词:多个变量 新变量 replace place 请问有没有

沙发
黃河泉 在职认证  发表于 2021-5-10 21:53:31
1. 请 ssc install egenmore, 并试试
  1. * Example generated by -dataex-. For more info, type help dataex
  2. clear
  3. input float(x1 x2 x3)
  4. 1 2 3
  5. 2 2 2
  6. 3 4 5
  7. 2 2 4
  8. 2 2 2
  9. 5 2 2
  10. end

  11. egen wanted = rall(x*), c(@==2)
复制代码
2. (尔后) 你若要问程序,请用 (ssc install) dataex 附上相关`代表性’资料 (请尽量不要用截图或其他格式),以供回答者实验之用。请参考说明 https://bbs.pinggu.org/thread-5048204-1-1.htmlhttps://zhuanlan.zhihu.com/p/29911577

藤椅
分田分地真忙 发表于 2021-5-14 08:27:42
黃河泉 发表于 2021-5-10 21:53
1. 请 ssc install egenmore, 并试试2. (尔后) 你若要问程序,请用 (ssc install) dataex 附上相关`代表性’ ...
谢谢黄老师,以后我注意用dataex贴出部分数据。

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

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