楼主: arkpm
2531 9

一个STATA关于PANEL DATA的问题 [推广有奖]

  • 0关注
  • 0粉丝

已卖:32份资源

大专生

46%

还不是VIP/贵宾

-

威望
0
论坛币
929 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
475 点
帖子
43
精华
0
在线时间
28 小时
注册时间
2009-1-29
最后登录
2015-3-15

楼主
arkpm 发表于 2011-10-5 10:45:33 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我的数据是1960-2010美国上市公司的月资料,有20000多家公司的月股票价格,请问怎么把少于30个观察值(包括missing value)的公司都删掉。多谢各位牛人了
二维码

扫码加我 拉你入群

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

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

关键词:panel data Stata Panel Data pane 股票价格 美国上市 资料

沙发
quanyi88888 发表于 2011-10-5 12:55:37
这个可以使用egen命令+group()选项给每家上市公司产生一个新的连续编号变量,如group变量(如第一家上市公司group赋值1,第二家赋值2,如此等等)。然后再用forvaule循环语句进行删选

藤椅
quanyi88888 发表于 2011-10-5 12:56:17
删选条件如下:将每家上市公司的group变量进行求和,然后除以30,如果所得的结果大于等于group本生,则符合大于等于30个观察值的要求,则保留,其他则删除。

板凳
quanyi88888 发表于 2011-10-5 12:57:10
以上操作应该可以达到楼主的要求。

报纸
arkpm 发表于 2011-10-10 19:43:08
麻烦哪位高人看一下我的命令,我是要删除观察值小于36个的公司,我按照2楼朋友的建议写的程序,不知道为什么按我的程序算出来只删除了第一家公司(19个观察值)和第二家公司的前36个观察值,我数据一共有28213家公司。急求,跪谢各位高人了

我的程序
xtset ID date
egen id=group(ID)
forvalues i=1/28213 {
   quietly sum(id) if id==`i'
   drop if sum(id)/id<=36 & id==`i'
}

地板
arlionn 在职认证  发表于 2011-10-10 21:42:18
*-Try this one:

xtset code date
bysort code: gen N = _N
drop if N<=36

7
arlionn 在职认证  发表于 2011-10-10 21:44:13
*-Try this one:

xtset code date
bysort code: gen N = _N
drop if N<=36

8
arkpm 发表于 2011-10-11 03:45:07
arlionn 发表于 2011-10-10 21:44
*-Try this one:

xtset code date
谢谢连教授!!!!

9
jameschow 发表于 2011-10-12 20:06:45
zai kankan

10
jameschow 发表于 2011-10-12 20:07:19
tongwen

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

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