楼主: 2120132471
3890 11

[面板数据求助] 请问如何对大于观测值变量的部分求均值? [推广有奖]

  • 0关注
  • 0粉丝

硕士生

40%

还不是VIP/贵宾

-

威望
0
论坛币
929 个
通用积分
2.8500
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
172 点
帖子
8
精华
0
在线时间
318 小时
注册时间
2013-9-17
最后登录
2024-3-30

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
比如数据结构为:
id  profit  meanprofit_GreaterFromIdProfit
1   100
2   130
3   230
4   120
5   160
希望得到meanprofit_GreaterFromIdProfit列,用来表示对于某一观测值(某一id),对大于该id对应的profit部分取均值,作为meanprofit_GreaterFromIdProfit变量的值。
比如对于id=2,meanprofit_GreaterFromIdProfit= mean(230+160)

二维码

扫码加我 拉你入群

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

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

关键词:观测值 Greater Profit Great Prof

沙发
黃河泉 在职认证  发表于 2018-2-2 11:06:00 |只看作者 |坛友微信交流群
William Lisowski 建议:
  1. sort profit
  2. generate sf = sum(profit)
  3. generate sr = sf[_N]-sf
  4. generate nr = _N-_n
  5. generate av = 0
  6. by profit: replace av = sr[_N]/nr[_N]
  7. sort id
复制代码

使用道具

藤椅
黃河泉 在职认证  发表于 2018-2-2 11:53:47 |只看作者 |坛友微信交流群
尔后建议请用 dataex (先 ssc install dataex 并见说明) 将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。并请参考 http://www.jianshu.com/p/9870080fe769,  https://bbs.pinggu.org/thread-5048204-1-1.html, 与 https://bbs.pinggu.org/thread-5917273-1-1.html

使用道具

板凳
2120132471 发表于 2018-2-2 17:26:44 |只看作者 |坛友微信交流群
黃河泉 发表于 2018-2-2 11:06
William Lisowski 建议:
感谢老师,受教了

使用道具

报纸
黃河泉 在职认证  发表于 2018-2-2 17:28:40 |只看作者 |坛友微信交流群
2120132471 发表于 2018-2-2 17:26
感谢老师,受教了
借花献佛而已。若有缺失值,不知道会不会有问题?

使用道具

地板
黃河泉 在职认证  发表于 2018-2-3 10:48:59 |只看作者 |坛友微信交流群
2120132471 发表于 2018-2-2 17:26
感谢老师,受教了
此外,Clyde Schechter 的建议可能更一般:
  1. sort profit
  2. gen delta = profit - profit[_n-1]
  3. summ delta if delta > 0
  4. local epsilon = r(min)/2
  5. rangestat (mean) profit, interval(profit, `epsilon', .)
  6. sort id
复制代码

使用道具

7
2120132471 发表于 2018-2-4 13:05:18 |只看作者 |坛友微信交流群
黃河泉 发表于 2018-2-3 10:48
此外,Clyde Schechter 的建议可能更一般:
运行过了,第一个方法可行,但是在第三步时缺失值的确会影响结果。我是根据自己数据的特点把缺失值都删掉了。第二个没太看明白r(min)/2那里的含义,晚上运行一下试试。再次感谢老师

使用道具

8
黃河泉 在职认证  发表于 2018-2-5 07:38:38 |只看作者 |坛友微信交流群
2120132471 发表于 2018-2-4 13:05
运行过了,第一个方法可行,但是在第三步时缺失值的确会影响结果。我是根据自己数据的特点把缺失值都删掉 ...
Robert Picard 的建议(应该是最好的,有考虑 missing values):
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input float(id profit)
  4. 1 100
  5. 2 130
  6. 3 230
  7. 4 120
  8. 5 160
  9. 6 120
  10. 7 .
  11. end

  12. egen gprofit = group(profit)
  13. rangestat (mean) profit , interval(gprofit 1 .)
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

使用道具

9
hudage1995 发表于 2019-10-27 09:03:14 |只看作者 |坛友微信交流群
黃河泉 发表于 2018-2-5 07:38
Robert Picard 的建议(应该是最好的,有考虑 missing values):
老师您好,请问stata如何对大于观测值变量的部分求均值?是按组求,不是总体求。我看过您发的帖子,那应该是对总样本求的,怎么对每个分组样本同时求呢?我用 by group总是得不到结果。谢谢

使用道具

10
黃河泉 在职认证  发表于 2019-10-27 10:58:03 |只看作者 |坛友微信交流群
hudage1995 发表于 2019-10-27 09:03
老师您好,请问stata如何对大于观测值变量的部分求均值?是按组求,不是总体求。我看过您发的帖子,那应该 ...
1. 不懂你的问题。2. 你若要问程序,永远附上相关资料 (请不要用截图);若附上资料,永远用 dataex 印出资料。
•        先 ssc install dataex (并见说明),将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。
•        请参考说明 https://bbs.pinggu.org/thread-5048204-1-1.html

使用道具

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

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

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

GMT+8, 2024-5-1 21:27