Re: [程式] SAS如何刪除變數值小於5的觀測值

看板Statistics作者 (加油!加油!!)時間14年前 (2011/05/04 14:12), 編輯推噓5(5010)
留言15則, 4人參與, 最新討論串3/3 (看更多)
※ 引述《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)

05/04 14:41, , 1F
推!!我耍笨繞了一圈.........
05/04 14:41, 1F

05/04 14:42, , 2F
having 真好用
05/04 14:42, 2F

05/04 21:06, , 3F
謝謝 請問可以解釋一下嗎?thanks!!
05/04 21:06, 3F

05/04 21:45, , 4F
請問我要每個變數樣本大於5 可以寫成下面這樣嗎?
05/04 21:45, 4F

05/04 21:45, , 5F
having count(*)>=5 ;
05/04 21:45, 5F

05/05 17:05, , 6F
應該是可以直接用count(*)>=5 ^^
05/05 17:05, 6F

05/05 17:13, , 7F
直接用count(*)可能會出事,因為count(*)是去看group by
05/05 17:13, 7F

05/05 17:13, , 8F
後剩下的變數整體來看,沒有missing的筆數,但是你有一
05/05 17:13, 8F

05/05 17:14, , 9F
個year變數在資料裡面卻不屬於group by裡面的變數,這樣
05/05 17:14, 9F

05/05 17:14, , 10F
count(*)出來會變成每一個company都被選進去了。
05/05 17:14, 10F

05/05 17:15, , 11F
應該是這樣吧......
05/05 17:15, 11F

05/05 21:43, , 12F
剛剛看了一下,真的直接用count(*)會有問題
05/05 21:43, 12F

05/05 21:45, , 13F
因為year在內,所以group by之後的count會算到year的個數
05/05 21:45, 13F

05/05 21:47, , 14F
而不是變數的個數......
05/05 21:47, 14F

05/05 22:17, , 15F
喔喔~~我懂了 感謝三位熱心的高手^^
05/05 22:17, 15F
文章代碼(AID): #1DmEvaSf (Statistics)
文章代碼(AID): #1DmEvaSf (Statistics)