全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
11992 15
2013-09-15
见附图,有三列,第一列name即不同的人,第二列为不同的日期,第三列为当天买某一样东西花了多少钱。我想要算的是每个人平均每一次花了多少钱。我之前是直接把某一个人的cost加起来,除以这个人的记录数。比如“1”的cost相加后再除以5,但实际上这样是不对的。日期一致默认是在同一个地方的消费,只是买了不同的东西。所以“1”这个人的次均费用应该是cost相加后,除以4.应该是先把日期一致的记录的合并成一条再来算。但是我不知道这样做怎么用stata实现=。=
不晓得我表达清楚没有,有哪位网友可以帮帮我?!
附件列表
飞信截图20130915205303.jpg

原图尺寸 16.7 KB

飞信截图20130915205303.jpg

二维码

扫码加我 拉你入群

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

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

全部回复
2013-9-15 21:05:08
对了,日期项不同的人是会重复的。
二维码

扫码加我 拉你入群

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

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

2013-9-15 21:12:55
试一下这个命令:
bysort name: egen var4=mean(cost)
二维码

扫码加我 拉你入群

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

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

2013-9-15 21:18:05
Sunknownay 发表于 2013-9-15 21:12
试一下这个命令:
bysort name: egen var4=mean(cost)
这样做不对的,还是我之前说的问题:日期一样默认为在同一家商店里购买的。所以次均费用的计算,要把这个人同一日期的cost加起来再算mean值才行
二维码

扫码加我 拉你入群

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

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

2013-9-15 23:35:54

collapse (sum) cost,by( name date)
bysort name : egen mean=mean(cost)



二维码

扫码加我 拉你入群

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

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

2013-9-15 23:48:06
bysort name: egen m=total(cost)
bysort name date: gen n=_n
qui bysort name: count  if n==1
bysort name: gen cost1=m/r(N)
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群