版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
盤點:做數(shù)據(jù)分析必須學R的4個理由
本文提供了一位統(tǒng)計學家CatherineDalzell對R的價值的看法。為什么選擇R?R可以執(zhí)行統(tǒng)計。您可以將它視為SASAnalytics等分析系統(tǒng)的競爭對手,更不用提StatSoftSTATISTICA或Minitab等更簡單的包。政府、企業(yè)和制藥行業(yè)中許多專業(yè)統(tǒng)計學家和方法學家都將其全部職業(yè)生涯都投入到了IBMSPSS或SAS中,但卻沒有編寫過一行R代碼。所以從某種程度上講,學習和使用R的決定事關企業(yè)文化和您希望如何工作。我在統(tǒng)計咨詢實踐中使用了多種工具,但我的大部分工作都是在R中完成的。以下這些示例給出了我使用R的原因:R是一種強大的腳本語言。我最近被要求分析一個范圍研究的結果。研究人員檢查了1,600篇研究論文,并依據(jù)多個條件對它們的內容進行編碼,事實上,這些條件是大量具有多個選項和分叉的條件。它們的數(shù)據(jù)(曾經扁平化到一個Microsoft?Excel?電子表格上)包含8,000多列,其中大部分都是空的。研究人員希望統(tǒng)計不同類別和標題下的總數(shù)。R是一種強大的腳本語言,能夠訪問類似Perl的正則表達式來處理文本。凌亂的數(shù)據(jù)需要一種編程語言資源,而且盡管SAS和SPSS提供了腳本語言來執(zhí)行下拉菜單意外的任務,但R是作為一種編程語言編寫的,所以是一種更適合該用途的工具。R走在時代的前沿。統(tǒng)計學中的許多新發(fā)展最初都是以R包的形式出現(xiàn)的,然后才被引入到商業(yè)平臺中。我最近獲得了一項對患者回憶的醫(yī)療研究的數(shù)據(jù)。對于每位患者,我們擁有醫(yī)生建議的治療項目數(shù)量,以及患者實際記住的項目數(shù)量。自然模型是貝塔—二項分布。這從上世紀50年代就已知道,但將該模型與感興趣的變量相關聯(lián)的估算過程是最近才出現(xiàn)的。像這樣的數(shù)據(jù)通常由廣義估計方程式(generalestimatingequations,GEE)處理,但GEE方法是漸進的,而且假設抽樣范圍很廣。我想要一種具有貝塔—二項R的廣義線性模型。一個最新的R包估算了這一模型:BenBolker編寫的betabinom。而SPSS沒有。集成文檔發(fā)布。R完美地集成了LaTeX文檔發(fā)布系統(tǒng),這意味著來自R的統(tǒng)計輸出和圖形可嵌入到可供發(fā)布的文檔中。這不是所有人都用得上,但如果您希望便攜異步關于數(shù)據(jù)分析的書籍,或者只是不希望將結果復制到文字處理文檔,最短且最優(yōu)雅的路徑就是通過R和LaTeX。沒有成本。作為一個小型企業(yè)的所有者,我很喜歡R的免費特定。即使對于更大的企業(yè),知道您能夠臨時調入某個人并立即讓他們坐在工作站旁使用一流的分析軟件,也很不錯。無需擔憂預算。R是什么,它有何用途?作為一種編程語言,R與許多其他語言都很類似。任何編寫過代碼的人都會在R中找到很多熟悉的東西。R的特殊性在于它支持的統(tǒng)計哲學。一種統(tǒng)計學革命:S和探索性數(shù)據(jù)分析140字符的解釋:R是S的一種開源實現(xiàn),是一種用于數(shù)據(jù)分析和圖形的編程環(huán)境。計算機總是擅長計算—在您編寫并調試了一個程序來執(zhí)行您想要的算法后。但在上世紀60和70年代,計算機并不擅長信息的顯示,尤其是圖形。這些技術限制在結合統(tǒng)計理論中的趨勢,意味著統(tǒng)計實踐和統(tǒng)計學家的培訓專注于模型構建和假設測試。一個人假定這樣一個世界,研究人員在其中設定假設(常常是農業(yè)方面的),構建精心設計的實驗(在一個農業(yè)站),填入模型,然后運行測試。一個基于電子表格、菜單驅動的程序(比如SPSS反映了這一方法)。事實上,SPSS和SASAnalytics的第一個版本包含一些子例程,這些子例程可從一個(Fortran或其他)程序調用來填入和測試一個模型工具箱中的一個模型。在這個規(guī)范化和滲透理論的框架中,JohnTukey放入了探索性數(shù)據(jù)分析(EDA)的概念,這就像一個鵝卵石擊中了玻璃屋頂。如今,很難想像沒有使用箱線圖(boxplot)來檢查偏度和異常值就開始分析一個數(shù)據(jù)集的情形,或者沒有針對一個分位點圖檢查某個線性模型殘差的常態(tài)的情形。這些想法由Tukey提出,現(xiàn)在任何介紹性的統(tǒng)計課程都會介紹它們。但并不總是如此。與其說EDA是一種理論,不如說它是一種方法。該方法離不開以下經驗規(guī)則:只要有可能,就應使用圖形來識別感興趣的功能。分析是遞增的。嘗試以下這種模型;根據(jù)結果來填充另一個模型。使用圖形檢查模型假設。標記存在異常值。使用健全的方法來防止違背分布假設。Tukey的方法引發(fā)了一個新的圖形方法和穩(wěn)健估計的發(fā)展浪潮。它還啟發(fā)了一個更適合探索性方法的新軟件框架的開發(fā)。S語言是在貝爾實驗室由JohnChambers和同事開發(fā)的,被用作一個統(tǒng)計分析平臺,尤其是Tukey排序。第一個版本(供貝爾實驗室內部使用)于1976年開發(fā),但直到1988年,它才形成了類似其當前形式的版本。在這時,該語言也可供貝爾實驗室外部的用戶使用。該語言的每個方面都符合數(shù)據(jù)分析的“新模型”:S是一種在編程環(huán)境操作的解釋語言。S語法與C的語法很相似,但省去了困難的部分。S負責執(zhí)行內存管理和變量聲明,舉例而言,這樣用戶就無需編寫或調試這些方面了。更低的編程開銷使得用戶可以在同一個數(shù)據(jù)集上快速執(zhí)行大量分析。從一開始,S就考慮到了高級圖形的創(chuàng)建,您可向任何打開的圖形窗口添加功能。您可很容易地突出興趣點,查詢它們的值,使散點圖變得更平滑,等等。面向對象性是1992年添加到S中的。在一個編程語言中,對象構造數(shù)據(jù)和函數(shù)來滿足用戶的直覺。人類的思維始終是面向對象的,統(tǒng)計推理尤其如此。統(tǒng)計學家處理頻率表、時間序列、矩陣、具有各種數(shù)據(jù)類型的電子表格、模型,等等。在每種情況下,原始數(shù)據(jù)都擁有屬性和期望值:舉例而言,一個時間序列包含觀察值和時間點。而且對于每種數(shù)據(jù)類型,都應得到標準統(tǒng)計數(shù)據(jù)和平面圖。對于時間序列,我可能繪制一個時間序列平面圖和一個相關圖;對于擬合模型,我可能繪制擬合值和殘差。S支持為所有這些概念創(chuàng)建對象,您可以根據(jù)需要創(chuàng)建更多的對象類。對象使得從問題的概念化到其代碼的實現(xiàn)變得非常簡單。一種具有態(tài)度的語言:S、S-Plus和假設測試最初的S語言非常重視Tukey的EDA,已達到只能在S中執(zhí)行EDA而不能執(zhí)行其他任何操作的程度。這是一種具有態(tài)度的語言。舉例而言,盡管S帶來了一些有用的內部功能,但它缺乏您希望統(tǒng)計軟件擁有的一些最明顯的功能。沒有函數(shù)來執(zhí)行雙抽樣測試或任何類型的真實假設測試。但Tukey認為,假設測試有時正合適。1988年,位于西雅圖的StatisticalScience獲得S的授權,并將該語言的一個增強版本(稱為S-Plus)移植到DOS以及以后的Windows?中。實際認識到客戶想要什么后,StatisticalScience向S-Plus添加了經典統(tǒng)計學功能。添加執(zhí)行方差分析(ANOVA)、測試和其他模型的功能。對S的面向對象性而言,任何這類擬合模型的結果本身都是一個S對象。合適的函數(shù)調用都會提供假設測試的擬合值、殘差和p-值。模型對象甚至可以包含分析的中間計算步驟,比如一個設計矩陣的QR分解(其中Q是對角線,R是右上角)。有一個R包來完成該任務!還有一個開源社區(qū)大約在與發(fā)布S-Plus相同的時間,新西蘭奧克蘭大學的RossIhaka和RobertGentleman決定嘗試編寫一個解釋器。他們選擇了S語言作為其模型。該項目逐漸成形并獲得了支持。它們將其命名為R。R是S的一種實現(xiàn),包含S-Plus開發(fā)的更多模型。有時候,發(fā)揮作用的是同一些人。R是GNU許可下的一個開源項目。在此基礎上,R不斷發(fā)展,主要通過添加包。R包是一個包含數(shù)據(jù)集、R函數(shù)、文檔和C或Fortran動態(tài)加載項的集合,可以一起安裝并從R會話訪問。R包向R添加新功能,通過這些包,研究人員可在同行之間輕松地共享計算方法。一些包的范圍有限,另一些包代表著整個統(tǒng)計學領域,還有一些包含最新的技術發(fā)展。事實上,統(tǒng)計學中的許多發(fā)展最初都是以R包形式出現(xiàn)的,然后才應用到商用軟件中。在撰寫本文時,R下載站點CRAN上已有4,701個R包。其中,單單那一天就添加了6個R。萬事萬物都有一個對應的R包,至少看起來是這樣。我在使用R時會發(fā)生什么?備注:本文不是一部R教程。下面的示例僅試圖讓您了解R會話看起來是什么樣的。R二進制文件可用于Windows、MacOSX和多個Linux?發(fā)行版。源代碼也可供人們自行編譯。在Windows?中,安裝程序將R添加到開始菜單中。要在Linux中啟動R,可打開一個終端窗口并在提示符下鍵入R。您應看到類似圖1的畫面。圖1.R工作區(qū)在提示符下鍵入一個命令,R就會響應。此時,在真實的環(huán)境中,您可能會從一個外部數(shù)據(jù)文件將數(shù)據(jù)讀入R對象中。R可從各種不同格式的文件讀取數(shù)據(jù),但對于本示例,我使用的是來自MASS包的michelson數(shù)據(jù)。這個包附帶了VenablesandRipley的標志性文本ModernAppliedStatisticswithS-Plus(參見參考資料)。michelson包含來自測量光速的流行的MichelsonandMorley實驗的結果。清單1中提供的命令可以加載MASS包,獲取并查看michelson數(shù)據(jù)。圖2顯示了這些命令和來自R的響應。每一行包含一個R函數(shù),它的參數(shù)放在方括號([])內。清單1.啟動一個R會話2+2#Rcanbeacalculator.Rresponds,correctly,with4.library("MASS")#Loadsintomemorythefunctionsanddatasetsfrom#packageMASS,thataccompaniesModernAppliedStatisticsinSdata(michelson)#Copiesthemichelsondatasetintotheworkspace.ls()#Liststhecontentsoftheworkspace.Themichelsondataisthere.head(michelson)#Displaysthefirstfewlinesofthisdataset.#ColumnSpeedcontainsMichelsonandMorleysestimatesofthe#speedoflight,less299,000,inkm/s.#MichelsonandMorleyranfiveexperimentswith20runseach.#Thedatasetcontainsindicatorvariablesforexperimentandrun.help(michelson)#Callsahelpscreen,whichdescribesthedataset.圖2.會話啟動和R的響應現(xiàn)在讓我們看看該數(shù)據(jù)(參見清單2)。輸出如圖3中所示。清單2.R中的一個箱線圖#Basicboxplotwith(michelson,boxplot(Speed~Expt))#Icanaddcolourandlabels.Icanalsosavetheresultstoanobject.michelson.bp=with(michelson,boxplot(Speed~Expt,xlab="Experiment",las=1,ylab="SpeedofLight-299,000m/s",main="Michelson-MorleyExperiments",col="slateblue1"))#Thecurrentestimateofthespeedoflight,onthisscale,is734.5#Addahorizontallinetohighlightthisvalue.abline(h=734.5,lwd=2,col="purple")#AddmodernspeedoflightMichelsonandMorley似乎有計劃地高估了光速。各個實驗之間似乎也存在一定的不均勻性。圖3.繪制一個箱線圖在對分析感到滿意后,我可以將所有命令保存到一個R函數(shù)中。參見清單3。清單3.R中的一個簡單函數(shù)MyExample=function(){library(MASS)data(michelson)michelson.bw=with(michelson,boxplot(Speed~Expt,xlab="Experiment",las=1,ylab="SpeedofLight-299,000m/s",main="Michelsen-MorleyExperiments",col="slateblue1"))abline(h=734.5,lwd=2,col="purple")}這個簡單示例演示了R的多個重要功能:保存結果—boxplot()函數(shù)返回一些有用的統(tǒng)計數(shù)據(jù)和一個圖表,您可以通過類似michelson.bp=…的負值語句將這些結果保存到一個R對象中,并在需要時提取它們。任何賦值語句的結果都可在R會話的整個過程中獲得,并且可以作為進一步分析的主題。boxplot函數(shù)返回一個用于繪制箱線圖的統(tǒng)計數(shù)據(jù)(中位數(shù)、四分位等)矩陣、每個箱線圖中的項數(shù),以及異常值(在圖3中的圖表上顯示為開口圓)。請參見圖4。圖4.來自boxplot函數(shù)的統(tǒng)計數(shù)據(jù)公式語言—R(和S)有一種緊湊的語言來表達統(tǒng)計模型。參數(shù)中的代碼Speed~Expt告訴函數(shù)在每個Expt(實驗數(shù)字)級別上繪制Speed的箱線圖。如果希望執(zhí)行方差分析來測試各次實驗中的速度是否存在顯著差異,那么可以使用相同的公式:lm(Speed~Expt)。公式語言可表達豐富多樣的統(tǒng)計模型,包括交叉和嵌套效應,以及固定和隨機因素。用戶定義的R函數(shù)—這是一種編程語言。R已進入21世紀Tukey的探索性數(shù)據(jù)分析方法已成為常規(guī)課程。我們在教授這種方法,而統(tǒng)計學家也在使用該方法。R支持這種方法,這解釋了它為什么仍然如此流行的原因。面向對象性還幫助R保持最新,因為新的數(shù)據(jù)來源需要新的數(shù)據(jù)結構來執(zhí)行分析。InfoSphere?Streams現(xiàn)在支持對與JohnChambers所設想的不同的數(shù)據(jù)執(zhí)行R分析。R與InfoSphereStreamsInfoSphereStreams是一個計算平臺和集成開發(fā)環(huán)境,用于分析從數(shù)千個來源獲得的高速數(shù)據(jù)。這些數(shù)據(jù)流的內容通常是非結構化或半結構化的。分析的目的是檢測數(shù)據(jù)中不斷變化的模式,基于快速變化的事件來指導決策。SPL(用于InfoSphereStreams的編程語言)通過一種范例來組織數(shù)據(jù),反映了數(shù)據(jù)的動態(tài)性以及對快速分析和響應的需求。我們已經距離用于經典統(tǒng)計分析的電子表格和常規(guī)平面文件很遠,但R能夠應付自如。從3.1版開始,SPL應用程序可將數(shù)據(jù)傳遞給R,從而利用R龐大的包庫。InfoSphereStreams對R的支持方式是,創(chuàng)建合適的R對象來接收SPL元組(SPL中的基本數(shù)據(jù)結構)中包含的信息。InfoSphereStreams數(shù)據(jù)因此可傳遞給R供進一步分析,并將結果傳回到SPL。R需要主流硬件嗎?我在一臺運行CrunchbangLinux的宏碁上網本上運行了這個示例。R不需要笨重的機器來執(zhí)行中小規(guī)模的分析。20年來,人們一直認為R之所以緩慢是因為它是一種解釋性語言,而且它可以分析的數(shù)據(jù)大小受計算機內存的限制。這是真的,但這通常與現(xiàn)代機器毫無干系,除非應用程序非常大(大數(shù)據(jù))。R的不足之處公平地講,R也
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 包頭輕工校車削加工技能(勞動版)教案學習情境二車削臺階軸類零件-子學習情境一認識車刀
- 《麻繩》小班美術教案 - 幼兒園美術教案
- 《液壓傳動》教案(勞動版)
- 臨時廣告投放合同
- 城市軌道交通招投標詳解
- 生態(tài)農業(yè)發(fā)展公益林管理計劃
- 電子商務平臺交易信息保護規(guī)定
- 餐飲業(yè)宿舍電費管理規(guī)則
- 城市污水處理廠改造協(xié)議
- 企業(yè)社會責任激勵管理辦法
- 魏晉南北朝服飾課件
- 曲靖三恒煤礦唯一性檢測裝置管理制度規(guī)定
- 眼科門診工作制度
- 顏色標準LAB值對照表
- 甲骨文專題‖精選課件
- 小學綜合實踐二年級上冊第3單元《神奇的影子》教材分析
- 金壇區(qū)蘇科版二年級上冊勞動《06樹葉書簽》課件
- 教師課堂教學技能大賽試題題庫及答案
- 法國近代教育史課件
- 船舶管理教案
- 化工石油工程項目管道安裝技術教材(33張幻燈片)課件
評論
0/150
提交評論