天天看點

rstudio中讀取資料_R語言讀取外部資料檔案

使用R語言的時候,如果是少量資料,不妨使用c()或其他函數進行建立;但是對于大量資料,最好還是先通過其他更友善的軟體建立資料檔案,然後使用R讀入這個檔案。

前文說,.csv是非常好的資料檔案格式,跨平台支援非常好。我在Excel或者SPSS中建立的資料,隻要存為csv格式,就可以使用幾乎任何資料處理軟體對這些資料進行處理了。使用通用格式在多人合作、不同版本相容等常見行為中,優勢十分明顯。另外,之是以使用不同的資料處理軟體,第一,可以取長補短。比如有些工作SPSS很複雜的,可以用R語言幾行指令搞定。第二,可以進行軟體間處理結果對照,發現問題。

R語言中讀取外部檔案的最基本函數是read.table(),先介紹read.table(),然後再介紹專門用來讀csv的read.csv()。

敲入?read.table指令,就看到了關于資料輸入函數的說明。對read.table,使用格式是這樣的;

read.table(file, header = FALSE, sep =

"", quote = "\"'",

dec = ".", row.names,

col.names,

as.is = !stringsAsFactors,

na.strings = "NA", colClasses = NA,

nrows = -1,

skip = 0, check.names = TRUE, fill =

!blank.lines.skip,

strip.white = FALSE, blank.lines.skip =

TRUE,

comment.char = "#",

allowEscapes = FALSE, flush =

FALSE,

stringsAsFactors =

default.stringsAsFactors(),

fileEncoding = "", encoding = "unknown",

text)

參數很多,最常用的也就幾個,重寫如下:

read.table(file, header = FALSE, sep =

"", quote = "\"'",

dec = ".", skip = 0,

strip.white = FALSE, blank.lines.skip =

TRUE,

comment.char = "#")

file表示要讀取的檔案。file可以是①絕對路徑或者相對路徑,但是一定要注意,因為在R語言中\是轉義符,是以路徑分隔符必須寫成\\,比如“C:\\myfile\\myfile.txt”。②可以使剪切闆的内容。③使用file.choose(),彈出對話框,讓你選擇檔案位置。強烈推薦使用第三種方法,免去了記憶和書寫檔案路徑的麻煩,特别是能夠避免因資料檔案位置移動帶來的錯誤!例如:read.table(file.choose(),...)。

header來确定資料檔案中第一行是不是标題。預設F,即認為資料檔案沒有标題,也即認為第一行就開始是資料了!例如:

姓名

年齡收入

小六

12 350

如果header=F,讀進來的第一行資料是“姓名

年齡收入”,header=T,讀進來的第一行是“小六 12 350”。

sep指定分隔符,預設是空格。quote是引号,預設就是雙引号。dec是小數點的表示,預設就是一個點。skip是确定是否跳過某些行。strip.white确定是否消除空白字元。blank.lines.skip确定是否跳過空白行。comment.char指定用于表示注釋的引導符号。

一般情況下,我們隻需要預設值就夠了。

下面是一個簡單的例子,本例子中,首行是标題而不是資料,使用\t進行分割而不是空格。讀取後的資料變量設為mydata。是以,可以寫出讀取方式為:

mydata

其中,T和TRUE的效果是一樣的,正如F和FALSE的效果是一樣的。

和read.table有所不同的,是read.csv的預設參數有别。注意看,header和sep的預設值。

read.csv(file, header = TRUE, sep = ",",

quote="\"", dec=".",

fill = TRUE,

comment.char="")

因為csv就是逗号分割的意思,當然sep必須是逗号。header也是預設有标題的。fill是預設填充的,即遇到行不相等的情況,空白域自動添加既定值。如果使用預設的設定,可以寫出:

mydata2

十分簡單。

對于讀取剪切闆的方式,不推薦使用。我們之是以使用讀取檔案,就是增加程式的可複用性,而讀剪切闆顯然是破壞了這種初衷的。是以,不到萬不得已,盡量使用檔案路徑或者檔案選擇的形式。

對于其他軟體的專用格式,是要使用擴充包的,比如常見的foreign包引入之後,可以讀Minitab,

S, SAS, SPSS, Stata, Systat,

dBase等軟體專用格式的資料檔案。這個操作此處就不談了。

最後,提醒大家一定要勤使用、多使用help。RStudio的布局,讓help檢視十分便捷。很多時候,忘了某個指令怎麼玩,隻要在指令視窗輸入“?某函數”,就可以邊看右側的提示,邊在左側指令欄繼續工作,隻需要左右晃動幾下眼睛而已,将不會再為指令單詞怎麼拼、共有哪些參數可選等問題而困擾!看圖:

rstudio中讀取資料_R語言讀取外部資料檔案

原作者: Superconus|來自:

新浪部落格