作者rinchen (加油!加油!!)
站内Statistics
标题Re: [程式] SAS如何删除变数值小於5的观测值
时间Wed May 4 14:12:50 2011
※ 引述《linlowmoon (ya!)》之铭言:
: 请问
: 我的资料是panel
: 长成下面这样
: company year ta roa
: 1 2010 500 0.4
: 2009 400 0.5
: 2008
: 2007
: 2006
: 2005
: 2 2010 500 0.4
: 2009 400 0.5
: 2008 300 0.4
: 2007 200 0.5
: 2006 100 0.4
: 2005 0 0.5
: 请问我想删除 任何变数(ta or roa)样本值<5的公司(company)
: 那应该怎麽写啊?
: 谢谢
PROC SQL ;
CREATE TABLE new AS
SELECT *
FROM old
GROUP BY company
HAVING min(count(ta),count(roa)) >=5 ;
QUIT;
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.112.236
※ 编辑: rinchen 来自: 140.112.112.236 (05/04 14:14)
1F:推 west1996:推!!我耍笨绕了一圈......... 05/04 14:41
2F:推 imaltar:having 真好用 05/04 14:42
3F:→ linlowmoon:谢谢 请问可以解释一下吗?thanks!! 05/04 21:06
4F:推 linlowmoon:请问我要每个变数样本大於5 可以写成下面这样吗? 05/04 21:45
5F:→ linlowmoon:having count(*)>=5 ; 05/04 21:45
6F:→ rinchen:应该是可以直接用count(*)>=5 ^^ 05/05 17:05
7F:推 west1996:直接用count(*)可能会出事,因为count(*)是去看group by 05/05 17:13
8F:→ west1996:後剩下的变数整体来看,没有missing的笔数,但是你有一 05/05 17:13
9F:→ west1996:个year变数在资料里面却不属於group by里面的变数,这样 05/05 17:14
10F:→ west1996:count(*)出来会变成每一个company都被选进去了。 05/05 17:14
11F:→ west1996:应该是这样吧...... 05/05 17:15
12F:→ rinchen:刚刚看了一下,真的直接用count(*)会有问题 05/05 21:43
13F:→ rinchen:因为year在内,所以group by之後的count会算到year的个数 05/05 21:45
14F:→ rinchen:而不是变数的个数...... 05/05 21:47
15F:推 linlowmoon:喔喔~~我懂了 感谢三位热心的高手^^ 05/05 22:17