在使用R的時候,我們肯定需要導入數(shù)據(jù),現(xiàn)在總結(jié)一下如何導入不同類型的數(shù)據(jù): 1.使用鍵盤輸入數(shù)據(jù) 在導入數(shù)據(jù)比較少的時候,我們使用這種方法。R中的函數(shù) edit() 會自動調(diào)用一個允許手動輸入數(shù)據(jù)的文本編輯器。具體步驟如下:
需要注意的是函數(shù) edit() 事實上是在對象的一個副本上進行操作的。如果你沒有將它其賦值到一個對象,你的所有修改將會全部丟失! 2.導入帶分隔符的文本文件數(shù)據(jù)/CSV文件 read.table() 可以從帶分隔符的文本文件中導入數(shù)據(jù)。此函數(shù)可讀入一個表格格式的文件并將其保存為一個數(shù)據(jù)框。其語法如下: read.table(file,header=value,sep="delimter",row.names="name") file表示文件名,header表示表的首行是否包含變量值的邏輯值,sep 用來指定分隔數(shù)據(jù)的分隔符, row.names 用以指定一個或多個表示行標識符的變量,是個一可選參數(shù),他還有許多參數(shù),可以通過幫助文檔進行查看。 3.導入Excel數(shù)據(jù) 雖然Excel可能是世界上最流行的數(shù)據(jù)分析工具,但R如果直接讀取Excel數(shù)據(jù)還是比較困難的。 但我們可以在Excel中將數(shù)據(jù)將其導出為一個逗號分隔文件(csv) ,并使用前文描述的方式將其導入R中。在Windows系統(tǒng)中,你也可以使用 RODBC 包來訪問Excel文件。但它好像只能在32位的R軟件上面使用。雖然也有一些包可以這些問題,比如gdata,XLConnect,xlsReadWrite等,但它的有許多前提要求,比如java環(huán)境,Per,或者32-bit R。因此一般情況將數(shù)據(jù)轉(zhuǎn)換為csv文件或者將數(shù)據(jù)導入到數(shù)據(jù)庫在導入在R。 4.導入XML數(shù)據(jù) 強大的R中有若干用于處理XML文件的包。 XML 包允許用戶讀取、寫入和操作XML文件。因為我還沒有遇到這種數(shù)據(jù),因此還不太清楚xml包大體如何使用,感興趣的朋友可以下載xml包,通過幫助文檔進行學習。 5.從網(wǎng)頁抓取數(shù)據(jù) 不僅python可以爬取網(wǎng)頁數(shù)據(jù),R也可以在Web數(shù)據(jù)抓取。在這個的過程中,用戶可以從互聯(lián)網(wǎng)上提取嵌入在網(wǎng)頁中的信息,并將其保存為R中的數(shù)據(jù)結(jié)構(gòu)以做進一步的分析。 完成這個任務的一種途徑是使用函數(shù) readLines()下載網(wǎng)頁,然后使用如 grep() 和 gsub() 一類的函數(shù)處理它。對于結(jié)構(gòu)復雜的網(wǎng)頁,可以使用RCurl 包和 XML 包來提取其中想要的信息。也可以在這里了解更多信息http://www./ 6.導入SPSS數(shù)據(jù) 我們可以調(diào)用通過 foreign 包中的函數(shù) read.spss() 將SPSS數(shù)據(jù)集可以導入到R中,也可以使用 Hmisc 包中的 spss.get() 函數(shù)。函數(shù) spss.get() 是對 read. spss() 的一個封裝,它可以為你自動設置后者的許多參數(shù),讓整個轉(zhuǎn)換過程更加簡單一致,最后得到數(shù)據(jù)分析人員所期望的結(jié)果。使用的時候我們只需要安裝Hmisc 包,在較新的R中foreign 包已被默認安裝。
這段代碼中,data.sav 是要導入的SPSS數(shù)據(jù)文件, use.value.labels=TRUE 表示讓函數(shù)將帶有值標簽的變量導入為R中水平對應相同的因子, mydataframe 是導入后的R數(shù)據(jù)框。 7.讀入數(shù)據(jù)庫數(shù)據(jù) 在訪問數(shù)據(jù)庫的時候,我們都需要一個odbc驅(qū)動 我們需要下載安裝RODBC包。這一塊可以參考我寫的另一篇博文。如何使用R來連接各個數(shù)據(jù)庫 |
|