楼主: xinx13
5359 3

[其他] 关于stata数据均值 [推广有奖]

  • 0关注
  • 1粉丝

已卖:6份资源

硕士生

16%

还不是VIP/贵宾

-

威望
0
论坛币
563 个
通用积分
2.0006
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
4177 点
帖子
57
精华
0
在线时间
207 小时
注册时间
2006-2-25
最后登录
2016-4-14

楼主
xinx13 发表于 2012-3-17 09:56:44 |AI写论文
15论坛币
数个变量求均值的问题,已解决。但是因为几个答案都很好,所以把论坛币分给另个最佳答案。

最佳答案

较拉峭 查看完整内容

如图所示:比如你的数据时这样的。暂时限定为是s1-s4,四个变量,多了也一样的。 egen b=anycount(s1-s4), values(0) egen c=rownonmiss(s1-s4) egen d=rowtotal(s1-s4) gen e=d/(c-b) 第一句,用egen首先生成一个数值变量,这个变量代表的是从s1-s4里面所有的等于0的值有多少个,比如code=1时,a就等于1,code=2时,a就等于0(因为code=2时,没有等于0的数)。 第二句,用egen命令在生成一个每一行里面没有缺失值的 ...
关键词:STATA数据 Stata tata 最佳答案 论坛币

沙发
较拉峭 在职认证  发表于 2012-3-17 09:56:45
如图所示:比如你的数据时这样的。暂时限定为是s1-s4,四个变量,多了也一样的。   无标题.png

egen b=anycount(s1-s4), values(0)
egen c=rownonmiss(s1-s4)
egen  d=rowtotal(s1-s4)
gen e=d/(c-b)


第一句,用egen首先生成一个数值变量,这个变量代表的是从s1-s4里面所有的等于0的值有多少个,比如code=1时,a就等于1,code=2时,a就等于0(因为code=2时,没有等于0的数)。
第二句,用egen命令在生成一个每一行里面没有缺失值的变量的个数,这里你的数据里面都没有缺失值,所以b都等于4。
第三句,在生成,每一行的总和数,但是这个总和数计算的时候是包括零的。所以算均值的时候,要把每一行等于0的数减去。
就有第四句。
logistic、分层、R、stata

藤椅
hplcdadong 发表于 2012-3-18 04:24:46
How about this:

mvdecode _all, mv(0)
egen mean=rowmean(s1 s2 s3 s4)       //all set

板凳
hplcdadong 发表于 2012-3-18 04:33:50
In case, you don't want to convert all variables' 0 to missing

mvdecode s1 s2 s3 s4, mv(0)
egen mean=rowmean(s1 s2 s3 s4)  

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-23 15:26