全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2452 4
2010-01-10
悬赏 10 个论坛币 未解决
      公司代码       分析师预测时间        预测终止时间
12005-5-9 2005-12-31
12005-5-92006-12-31
12005-5-92007-12-31
12005-7-312005-12-31
12005-7-312006-12-31
12005-7-312007-12-31
12005-8-192005-12-31
12005-8-192006-12-31
12005-8-192007-12-31
12005-9-292005-12-31
12005-9-292006-12-31
12005-11-12005-12-31
22005-11-12006-12-31
22005-11-12007-12-31
22005-11-62006-12-31
22005-11-62007-12-31
22005-11-62008-12-31
22006-1-112006-12-31
22006-2-222006-12-31
22006-3-82006-12-31
22006-4-42006-12-31
32006-4-42007-12-31
32006-4-42008-12-31
32006-4-102006-12-31
32006-4-102007-12-31
32006-4-192006-12-31
32006-4-192007-12-31
32006-4-272006-12-31
42006-4-272007-12-31
42006-4-272008-12-31
42006-5-282006-12-31
42006-5-282007-12-31
42006-5-302006-12-31
42006-5-302007-12-31
42006-6-122006-12-31
42006-6-122007-12-31
42006-6-122008-12-31
42006-6-152006-12-31
42006-6-152007-12-31
我现在想解决的问题是我想知道每一个公司当年有多少分析师跟踪,比如说发布时间是2005年,终止时间为2005年,则这个分析师对该公司跟踪时间为2005年,如果发布时间为
2005年,终止时间为2006年,则这个分析师对公司的跟踪为2005和2006年,现在有很多分析师发布不同的跟踪和终止时间,如何求出每一个公司每年的的跟踪人数?
二维码

扫码加我 拉你入群

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

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

全部回复
2010-1-10 22:09:41
试试:
clear
input stkcd str10 dbgn str10 dend
1 2005-5-9 2005-12-31
1 2005-5-9 2006-12-31
1 2005-5-9 2007-12-31
1 2005-7-31 2005-12-31
1 2005-7-31 2006-12-31
1 2005-7-31 2007-12-31
1 2005-8-19 2005-12-31
1 2005-8-19 2006-12-31
1 2005-8-19 2007-12-31
1 2005-9-29 2005-12-31
1 2005-9-29 2006-12-31
1 2005-11-1 2005-12-31
2 2005-11-1 2006-12-31
2 2005-11-1 2007-12-31
2 2005-11-6 2006-12-31
2 2005-11-6 2007-12-31
2 2005-11-6 2008-12-31
2 2006-1-11 2006-12-31
2 2006-2-22 2006-12-31
2 2006-3-8 2006-12-31
2 2006-4-4 2006-12-31
3 2006-4-4 2007-12-31
3 2006-4-4 2008-12-31
3 2006-4-10 2006-12-31
3 2006-4-10 2007-12-31
3 2006-4-19 2006-12-31
3 2006-4-19 2007-12-31
3 2006-4-27 2006-12-31
4 2006-4-27 2007-12-31
4 2006-4-27 2008-12-31
4 2006-5-28 2006-12-31
4 2006-5-28 2007-12-31
4 2006-5-30 2006-12-31
4 2006-5-30 2007-12-31
4 2006-6-12 2006-12-31
4 2006-6-12 2007-12-31
4 2006-6-12 2008-12-31
4 2006-6-15 2006-12-31
4 2006-6-15 2007-12-31
end

gen db = date(dbgn, "YMD")
format db %td
gen de = date(dend, "YMD")
format de %td
gen yb = year(db)
gen ye=year(de)

sort stkcd
forval i = 2005/2009 {
        by stkcd: egen n_`i' = total(cond(`i'>=yb & `i' <=ye), 1, 0)
}
二维码

扫码加我 拉你入群

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

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

2010-1-10 22:45:49
学习了。谢谢上面的楼主
二维码

扫码加我 拉你入群

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

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

2010-1-11 23:22:36
*设begin与end都是字符型变量
forv i=2005/2009{
g  y`i'=(real(substr(begin,1,4))<=`i')&(real(substr(end,1,4))>=`i')
}
collapse (sum) y2005-y2009,by(id)
二维码

扫码加我 拉你入群

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

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

2010-1-11 23:43:26
sungmoo 发表于 2010-1-11 23:22
*设begin与end都是字符型变量
forv i=2005/2009{
g  y`i'=(real(substr(begin,1,4))=`i')
}
collapse (sum) y2005-y2009,by(id)
用collapse很巧妙啊,学习啦。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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