楼主: hy32gt
2453 8

[编程问题求助] stata 连乘问题 [推广有奖]

  • 1关注
  • 2粉丝

硕士生

93%

还不是VIP/贵宾

-

威望
0
论坛币
431 个
通用积分
4.7204
学术水平
2 点
热心指数
2 点
信用等级
0 点
经验
1891 点
帖子
83
精华
0
在线时间
279 小时
注册时间
2012-7-13
最后登录
2020-11-11

楼主
hy32gt 学生认证  发表于 2015-3-17 22:29:11 |只看作者 |坛友微信交流群|倒序 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
数据格式
v1       v2          v3
1          a           abc
1          b           abc
1          c           abc
2          d           de
2          e           de
3          f             f
请教下v3怎么求,v1是组,v2对应数据,v3是对应同为一个组的对应的v2的连乘值,望高人赐教,谢谢了
二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 对应数据 数据格式 ABC

沙发
xiongjerry 发表于 2015-3-17 22:39:29 来自手机 |只看作者 |坛友微信交流群
hy32gt 发表于 2015-3-17 22:29
数据格式
v1       v2          v3
1          a           abc
forvalues 或 foreach

使用道具

藤椅
hy32gt 学生认证  发表于 2015-3-17 22:49:37 |只看作者 |坛友微信交流群
不知道这样行不行
gen v3=v2*v2[_n+1]*v2[_n+2] if v1==v1[_n+1]&v1==v1[_n+2]
replace v3=v2*v2[_n+1] if v1==v1[_n+1]
replace v3=v2 if v3== .
好像每一组第二个之后就不一样了,好像还是有问题求高手帮助

使用道具

板凳
zj20000101 发表于 2015-3-17 23:18:29 来自手机 |只看作者 |坛友微信交流群
xiongjerry 发表于 2015-3-17 22:39
forvalues 或 foreach
用公式,查询一下就明白了

使用道具

报纸
gn85779632 发表于 2015-3-17 23:26:31 |只看作者 |坛友微信交流群
bys v1:gen order=_n
reshape wide v2,i(v1) j(order)
foreach var of varlist v2_* {
replave `var'=1 if `var'==.
}

gen v3=v2_1*v2_2*v2_3*....v2_10
reshape long v2_,i(v1) j(order)


已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
hustchen2012 + 10 + 10 + 1 + 1 + 1 热心帮助其他会员

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

使用道具

地板
hy32gt 学生认证  发表于 2015-3-18 08:28:32 |只看作者 |坛友微信交流群
xiongjerry 发表于 2015-3-17 22:39
forvalues 或 foreach
刚看到,好的,谢谢啊

使用道具

7
hy32gt 学生认证  发表于 2015-3-18 08:29:55 |只看作者 |坛友微信交流群
zj20000101 发表于 2015-3-17 23:18
用公式,查询一下就明白了
好的,刚看到,非常感谢

使用道具

8
hy32gt 学生认证  发表于 2015-3-18 08:31:42 |只看作者 |坛友微信交流群
gn85779632 发表于 2015-3-17 23:26
bys v1:gen order=_n
reshape wide v2,i(v1) j(order)
foreach var of varlist v2_* {
恩,非常感谢啊

使用道具

9
hy32gt 学生认证  发表于 2015-3-18 10:10:11 |只看作者 |坛友微信交流群
解决了,谢谢大家
gen lnv2=ln(v2)
bys v1:egen mlnv3=sum(lnv2)
gen v3=exp(mlnv3)
drop lnv2 mlnv3
后来想想,这样也行

使用道具

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

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

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

GMT+8, 2024-5-2 03:07