楼主: luoyanan98
7547 7

[编程问题求助] 如何用stata 对变量做循环 [推广有奖]

  • 0关注
  • 1粉丝

大专生

80%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
474 点
帖子
36
精华
0
在线时间
43 小时
注册时间
2013-3-9
最后登录
2017-4-12

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我有变量如下
ga1 ga2 gb1   gb2   gc1   gc2
1      1     1        3       1      1
2      2      2       2       1      2
3     3      3        1       2      1
如何用循环语句生成新变量g
g满足:当ga1&gb1& gc1 同时为1是,g=1;否则,g=0


二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 如何用 循环语句 新变量 如何

沙发
sungmoo 发表于 2014-4-28 13:20:09 |只看作者 |坛友微信交流群
g g=(ga1==gb1&gb1==gc1&gc1==1)

使用道具

藤椅
luoyanan98 发表于 2014-4-28 13:50:01 |只看作者 |坛友微信交流群
sungmoo 发表于 2014-4-28 13:20
g g=(ga1==gb1&gb1==gc1&gc1==1)
如果gi1 有100个的时候,怎么做呢,用循环语句怎么做呀

使用道具

板凳
luisluan 发表于 2014-4-28 14:14:50 |只看作者 |坛友微信交流群
看你的数据结特点是没有0,可以取个巧
qui ds
foreach v in `r(varlist)'{
   cap g sq_`v'=`v'^2
}
qui ds sq_*
egen tmp=rowmean(`r(varlist)')
gen g=tmp==1

使用道具

报纸
ywh19860616 发表于 2014-4-28 14:16:07 |只看作者 |坛友微信交流群
luoyanan98 发表于 2014-4-28 13:50
如果gi1 有100个的时候,怎么做呢,用循环语句怎么做呀
  1. clear
  2. input ga1 gb1 gc1 gd1 ga2 gb2 gc2 gd2
  3. 1 1 1 3 1 1 1 3
  4. 2 2 2 2 2 2 2 1
  5. 3 3 3 1 3 3 3 3
  6. 4 4 4 4 3 2 1 4
  7. 5 1 2 3 6 6 6 6
  8. end

  9. forv i=1/2 {
  10. egen gg`i'=diff(g*`i')
  11. replace gg`i'=1-gg`i'
  12. }
复制代码
一份耕耘,一份收获。

使用道具

地板
luoyanan98 发表于 2014-4-28 16:20:32 |只看作者 |坛友微信交流群
实在好感谢楼上两位~~~

使用道具

7
vivian 发表于 2020-9-24 10:48:41 |只看作者 |坛友微信交流群
如何将变量提取字符搞成面板数据然后依次做循环将其他变量也做成面板

使用道具

8
罗斯柴胡 发表于 2021-4-8 20:47:06 |只看作者 |坛友微信交流群
ywh19860616 发表于 2014-4-28 14:16
求教大神
变量r1 r2 r3 ....r25  都减去rf
为什么我这样写不对
forv i=1/25 {
egen z`i'=r`i'-rf
}

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

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

GMT+8, 2024-4-28 05:13