全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
15547 8
2015-10-05
悬赏 5 个论坛币 已解决
我有1900多家上市公司的30年的股价月回报率,但每家公司上市时间不同,所以不是所有公司都有30年的数据,有的是从中途开始有的。现在我想删除掉数据量少于一定年数的公司,比如不满30年的全部删除,该如何删除?

附上小样本

sample.xlsx

大小:101.55 KB

 马上下载

最佳答案

夏目贵志 查看完整内容

比如 xtset company_id year bys company_id: egen number_of_years = count(year) drop if number_of_years
二维码

扫码加我 拉你入群

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

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

全部回复
2015-10-5 19:36:46
比如
xtset company_id year
bys company_id: egen number_of_years = count(year)
drop if number_of_years<30
根据实际需要修改一下就好了
二维码

扫码加我 拉你入群

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

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

2015-10-5 19:39:56
在stata里
二维码

扫码加我 拉你入群

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

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

2015-10-5 20:01:06
我没在STATA里面删除过记录。 但是,你对满足某些条件的公司做标记,肯定可以的。 譬如通过循环实现。
二维码

扫码加我 拉你入群

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

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

2015-10-6 10:38:49
夏目贵志 发表于 2015-10-6 01:28
比如
xtset company_id year
bys company_id: egen number_of_years = count(year)
因为是stata小白 麻烦你说的具体一点,company_id要怎么定义呢 我每家公司都有序号,然后是月回报率,声明的是月是序列
tsset v1,monthly,但是v1项是类似1988m2这种的
拜托拜托
二维码

扫码加我 拉你入群

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

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

2015-10-6 11:02:32
朱星 发表于 2015-10-6 10:38
因为是stata小白 麻烦你说的具体一点,company_id要怎么定义呢 我每家公司都有序号,然后是月回报率,声明 ...
那你这样更简单了
foreach var of varlist t* {
    su `var'
        local n = r(N)
    if `n'<30 {
                drop `var'
        }
}
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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