楼主: machine2007
2481 4

[其他] 如何在STATA中解决这样的难题 [推广有奖]

  • 0关注
  • 3粉丝

已卖:1份资源

副教授

16%

还不是VIP/贵宾

-

威望
0
论坛币
695 个
通用积分
0.0025
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
21182 点
帖子
340
精华
0
在线时间
989 小时
注册时间
2007-10-22
最后登录
2019-1-25

楼主
machine2007 发表于 2010-1-10 21:25:54 |AI写论文
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年,现在有很多分析师发布不同的跟踪和终止时间,如何求出每一个公司每年的的跟踪人数?

关键词:Stata tata 分析师预测 发布时间 分析师 分析师 如何

回帖推荐

voodoo 发表于5楼  查看完整内容

用collapse很巧妙啊,学习啦。

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

*设begin与end都是字符型变量 forv i=2005/2009{ g y`i'=(real(substr(begin,1,4))

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

试试: 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 2 ...

本帖被以下文库推荐

沙发
voodoo 发表于 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)
}
巫毒上传,必属佳品!
坛友下载,三思后行!

藤椅
ruclaolan 发表于 2010-1-10 22:45:49
学习了。谢谢上面的楼主
laolan

板凳
sungmoo 发表于 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)

报纸
voodoo 发表于 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很巧妙啊,学习啦。
巫毒上传,必属佳品!
坛友下载,三思后行!

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

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