楼主: qxhsdu02
19789 16

[其他] 求助:如何求除自身之外同一地区的均值? [推广有奖]

  • 0关注
  • 1粉丝

教授

34%

还不是VIP/贵宾

-

威望
0
论坛币
1697 个
通用积分
35.6475
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
1105 点
帖子
145
精华
0
在线时间
2507 小时
注册时间
2006-12-26
最后登录
2025-7-20

楼主
qxhsdu02 发表于 2009-11-21 18:28:02 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
如题,一个地区包含很多家公司,一个变量X,如何用stata求除了自身之外其余公司变量X的均值,一个一个求太繁琐了!bysort好像不行啊,谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:bysort Stata tata SOR 如何用 如何

回帖推荐

sungmoo 发表于8楼  查看完整内容

*沿用eblog的思路 **若pro是数值型 g m=. levelsof pro,l(p) foreach i in `p'{ sum x if pro!=`i' replace m=r(mean) if pro==`i' } **若pro是字符型 g m=. levelsof pro,l(p) foreach i in `p'{ sum x if pro!="`i'" replace m=r(mean) if pro=="`i'" }

eblog 发表于6楼  查看完整内容

clear all set obs 31 gen x=_n gen mean=. forvalues i=1/31 { sum x if _n~=`i' replace mean=r(mean) in `i' }

sungmoo 发表于2楼  查看完整内容

*设id是公司代码,数据中无缺失值。m为欲求结果 g n=_N egen s=sum(x) bys id: egen si=sum(x) bys id: g m=(s-si)/(n-_N)

本帖被以下文库推荐

沙发
sungmoo 发表于 2009-11-22 16:33:47
*设id是公司代码,数据中无缺失值。m为欲求结果
g n=_N
egen s=sum(x)
bys id: egen si=sum(x)
bys id: g m=(s-si)/(n-_N)
已有 1 人评分学术水平 热心指数 收起 理由
qxhsdu02 + 1 + 1 谢谢斑竹

总评分: 学术水平 + 1  热心指数 + 1   查看全部评分

藤椅
rightperson 发表于 2009-11-22 23:52:59
呵呵,真好

板凳
kk22boy 发表于 2009-11-24 09:02:01
学习了,谢谢

报纸
qxhsdu02 发表于 2009-11-27 14:15:42
谢谢斑竹的回答,但是似乎命令中并不包含地区条件啊,我的意思是,比如一个大样本包含我国31个地区,我想要求每个地区除自身之外变量X的均值,不知如何求解?谢谢!

地板
eblog 发表于 2009-11-27 14:39:59
qxhsdu02 发表于 2009-11-27 14:15
谢谢斑竹的回答,但是似乎命令中并不包含地区条件啊,我的意思是,比如一个大样本包含我国31个地区,我想要求每个地区除自身之外变量X的均值,不知如何求解?谢谢!
clear all
set obs 31
gen x=_n
gen mean=.
forvalues i=1/31 {
sum x if _n~=`i'
replace mean=r(mean) in `i'
}

7
sungmoo 发表于 2009-11-27 18:38:41
qxhsdu02 发表于 2009-11-27 14:15 似乎命令中并不包含地区条件啊,我的意思是,比如一个大样本包含我国31个地区,我想要求每个地区除自身之外变量X的均值,不知如何求解?
id表示地区即可。

8
sungmoo 发表于 2009-11-27 18:45:07
*沿用eblog的思路

**若pro是数值型
g m=.
levelsof pro,l(p)
foreach i in `p'{
sum x if pro!=`i'
replace m=r(mean) if pro==`i'
}
**若pro是字符型
g m=.
levelsof pro,l(p)
foreach i in `p'{
sum x if pro!="`i'"
replace m=r(mean) if pro=="`i'"
}
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员

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

9
eblog 发表于 2009-11-27 23:59:27
sungmoo 发表于 2009-11-27 18:45
*沿用eblog的思路

**若pro是数值型
g m=.
levelsof pro,l(p)
foreach i in `p'{
sum x if pro!=`i'
replace m=r(mean) if pro==`i'
}
**若pro是字符型
g m=.
levelsof pro,l(p)
foreach i in `p'{
sum x if pro!="`i'"
replace m=r(mean) if pro=="`i'"
}
levelsof 用得不错

10
xlk75 发表于 2009-11-29 21:49:16

本文来自: 人大经济论坛(http://www.pinggu.org) 详细出处参考:http://tel.pinggu.org/bbs/dispbbs.asp?boardid=65&id=281936&page=128

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-29 17:48