要作統計分析通常會需要安裝統計軟體,SAS, SPSS, and Stata就是其中三套知名的商業軟體。雖然大部分我認識的人,用這三套軟體的原因都不是出於「自願」,而是看自己的老闆用什麼,但我還是決定寫下我的心得,讓有需要的人自行選擇。簡單地說,SAS是要寫指令的,沒什麼下拉選單可以幫你作統計,SPSS主要是下拉選單,要手寫程式還不大容易(SPSS 17已支援)。Stata是介於中間,你可用指令模式,忘了指令也可以下拉式選單來完成。
SAS
SAS是我覺得學習門檻最高的。雖然SAS和Stata都需要寫程式,但SAS的程式比Stata難寫得多。我是因為以前偶而也寫點程式,所以學SAS不難。舉幾個例子好了,SAS需要開頭和結尾都作宣告,像proc,每行結尾都要用;,最後還要加個run。指令就像下面這樣。
此外,SAS畫出來的圖是真的很醜!我拿我以前的作業,讓大家看一下。連我們老師那種死忠的SAS擁護者,都說他們會用別的軟體畫圖,讓人一整個無言啊…. SAS畫圖的門檻很高,有興趣的可到LCChien的部落格或是直接去他的繪圖技巧看看。
話說回來,SAS也不是一無是處。第一,美國很多國家大型資料庫用的都是SAS,你要用Stata或SPSS還得轉換才行。第二,沒寫過程式也不用那麼恐懼。寫程式總是有寫程式的好處,因為你知道你每一步做什麼,做錯了你只要改幾個字就好。用下拉式選單的話,如果你只給他看結果,別人可能不知道你怎麼做的。要接手工作就不是那麼容易了。如果你資料要修改的話,那寫程式是一定要的,因為你不會想要動到原本的資料(萬一誤刪了怎麼辦?)。要create dummy variables,寫程式還是比較保險的。
SPSS
SPSS因為都是下拉式選單,我覺得學習上應該是一點門檻也沒有or很低(前提是你要懂統計 XD)。畫面就像下面一樣。SPSS的缺點其實就是SAS的優點,如果你要做dummy variables,或是你作問卷調查,要將幾個選項的分數加總,這在SPSS就比較複雜了。另外小小抱怨一下:SPSS的開啟速度是我不大能忍受的,有時候要個30秒耶….人生是有幾個30秒可浪費在等SPSS開啟呢?
更新:SPSS 17已經支援Python、R、VB.Net的plugin,據說就可用結合這些語言來作統計了。實際情形等我實測之後再跟大家分享。
Stata
Stata前面說過,是介於SAS與SPSS之間的。你可以下指令,也可以用下拉式選單操作。如果你要用command,建議你新增的一個do file,到時候把裡面要執行的指令選起來,選do就好了。此外,Stata最好的地方我覺得應該是它的help file和可擴充性。你只要在command 打help再加你要的指令,就會出現清楚的說明。可擴充性是有些常要作的routine,有人已經寫好了一些工具,你只要打findit 工具名,就可以安裝到你的stata了。
到哪去找這些好用的工具呢?你可以去這瞧瞧:http://www.ats.ucla.edu/stat/stata/ado/analysis/
這我一定要回覆
你還真的打了篇比較這三種軟體的blog
實在太佩服你了
當你同學一定很幸福,常常可以去你那邊請教高人
其實這篇本來要寫成抱怨文的,有哪個program要求學生三種軟體都學的?不然我哪有這個「榮幸」一年之內三種軟體都玩過一遍….@@
update一下
新的SPSS也可以用Python跟R語言來寫語法了,相信玩統計的應該多少都會用R語言來寫自己的語法,網路上也有很多用R所寫的程式可以來套用
謝謝你的update。我剛看了一下,SPSS 17果然提供了支援R、Python、VB.Net的plug-in,這真是好消息啊!謝謝你的分享。
SAS是可以畫出高品質的圖
只是門檻很高
必須要寫入很多圖形環境設定的語法
對一般使用者來講不如R那麼方便
最新釋出的V9.2已經盡可能地把任何分析會用到的圖形打包在ODS裡
不過若要自己繪圖特定圖形的話
建議是先去網路上找看看有沒有別人已經做出來的macro拿來套用
SAS主要強在資料管理
在我使用過至少五種以上的統計軟體中
SAS在這方面的優勢還是無法撼動的
Dear LCChien,
高手留言了,我晚點改正。
最近剛好有資料要跑統計,逛到這個網站,讓我多瞭解了很多研究上的資訊,讓我獲益良多^^
可否請問SPSS可以跑Poisson regression嗎?還是只能用Stata或是SAS?
我查詢到的SPSS書本都沒說明在SPSS裡類別依變項怎麼操作?SPSS可以跑Poisson regression,要怎麼操作?可否麻煩你幫忙解答一下,謝謝!
Poisson regression的資料請見這裡:
http://www.ats.ucla.edu/stat/spss/dae/poissonreg.htm
非常感激,謝謝你喔!
身為統計系的研究生,SAS, R, STATA, SPSS都有用過。SAS用來做數據庫的操作是很容易的(PROC SQL), 統計方面也很強,只是要花很長時間去學。STATA相對容易,但是它每次只能打開一個數據文件讓人很頭疼。R的圖形很漂亮!但是也是要記很多程式語法。SPSS,實在用的不太多,感覺比較像EXCEL吧,目前來說SAS 和R是我的主力統計編程軟件。
有滿多學長推薦matlab, 有何不同?
能否说一下R与stata的高下?正打算学习这两个软件,但不知道哪个好点?谢谢
R是挺好的而且免費,但以前很多語法都要自己寫,學習門檻稍高。但只要你強,什麼東西都可以用R作出來。
Stata是包裝過的,很多算式、語法都是現成的。你不用知道那是什麼,但如果你的算法跟別人不一樣,那要解開黑盒子重新改寫,就比較費功夫了。
R我只摸過短暫的一陣子,這是我的初步印象。
R 也有企業級軟體 Revolution R, 對老師及學生是免費, 在Windows環境, 有提供IDE環境方便除錯及指令提示, 可以降低學習門檻。R 的範例在網路廣泛流傳, 應用範圍也很大, 是解決問題的好選擇。
SQIAR (http://www.sqiar.com/solutions/technology/tableau) is a leading global consultancy which provides innovative business intelligence services to small and medium size (SMEs) businesses. Our agile approach provides organizations with breakthrough insights and powerful data visualizations to rapidly analyse multiple aspects of their business in perspectives that matter most.
作者已經移除這則留言。
Stata是最好的語言,在Stata14已經支援UTF-8。很多人覺得Stata跑得可能較Python慢,事實上Stata-MP支援多核心平行運算,資料量沒有上限,我常用Stata處理超過1T的文字檔,個人使用Stata-MP 8核心的經驗是:多一個核心速度幾乎快一倍。Stata最讓我欣賞的是它可以將文字資料做矩陣式的操作,不論是在資料合併、更新、轉置、分群組上都有很好的表現,這都是Python的Pandas做不到的。Stata在Linux Centos跑的經驗是:Stata和Bash Script有很好的相容性,用Stata做伺服器的排程非常容易。如果您是Stata高手歡迎與我聯絡。Email: jimmy@yu-house.com Web: http://www.pha8.com/taipeisale
對於說Stata只能開啟一個數據文件,我一定要回應一下,事實上這是好事,因為你要有好的記憶體控管。Stata的處理數據的能力指受限於你的記憶體大小,一般情況是:
只能匯入數據文件的幾個Column或幾個Row,不會將整個文件匯入(也匯不入、或會跑很慢)。只能開啟一個數據文件會讓你再寫程式時就注意到資料大小的問題。事實上這是優點。
事實上雖然Stata有很強的函式庫支援各種最新的計量模型,(因為美國的計量經濟學家很多用Stata),但我都是自己寫Do file,沒有用過已寫好的指令。如果你傾心於開源社群,你也可將寫好的程式碼上傳到Stata的函式庫供他人下載。Stata的套裝指令與R比好太多,因為Stata有更好的說明書與範例,(畢竟是付費軟體有更好的支援)。Stata也有很多第三方寫的指令可供下載。但是畢竟Stata的文化較傾向於Proprietary,即使用Stata寫的指令更快更穩,但用Stata寫的程式碼可能很多是不公開的。像我寫的Do file也不可能去公開,因為商業考量。所以Python和R還是比較有機會找到真正商業可用且免費的程式碼。