楼主: santiagoo
6350 1

[其他] 请问stata对数据集排序后分组该用哪几个指令? [推广有奖]

  • 1关注
  • 0粉丝

已卖:80份资源

大专生

41%

还不是VIP/贵宾

-

威望
0
论坛币
81 个
通用积分
2.3200
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
563 点
帖子
36
精华
0
在线时间
48 小时
注册时间
2006-4-25
最后登录
2025-12-10

楼主
santiagoo 发表于 2012-2-23 19:37:17 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我现在是有N个公司(用num编号)的a、b、c、d等几个指标的数据,我想把它们先按照a指标排序,之后再按照样本数量平均分为10组,之后统计每一组的其他指标(就相当于对10个投资组合做统计)

我的想法是用sort排序,gen(m=_n),然后再用if语句通过m的值的取值范围,再产生出n=1.2.3...10,作作为组号(但这块不太会,是10个if?),之后再bysort(n)来达到对每一组的统计(这里面该用什么指令来对其他各指标进行统计?是mean否)

因为要统计好几年的东西,所以想问问有没有什么简单点的指令?是用foreach吗(昨天的一位好心的仁兄介绍的指令)?谢谢啦
二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 数据集 foreach bysort 投资组合 统计 样本

沙发
santiagoo 发表于 2012-2-23 21:12:46
我现在会将排序好的数据分组了,即
sort a
gen group=int((_n-1)/80)+1
就出来组的编号了

但是因为要对10年的a都进行类似的操作,就不知道该怎么弄了
我是这样编的
foreach var of a*{
sort `var'
gen `var'group=int((_n-1)/80)+1)
}
大家看看问题到底出在哪?
另外stata有直接分组的命令吗?
谢谢哈

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

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