0 引言
使用R語言、Python等進行數據處理的第一步就是要導入數據(也可以使用UCI數據集),下文主要根據R語言的幫助文檔來介紹外部文件數據的導入方法和注意事項。下面先附上一些指令。
1 格式read.table
read.table(file, header = FALSE, sep ="", quote = "\"'",dec = ".", skip = 0,strip.white = FALSE, blank.lines.skip =TRUE,comment.char = "#")
(1) file表示要讀取的文件。file可以是
①絕對路徑或者相對路徑。一定要注意,在R語言中\是轉義符,所以路徑分隔符需要寫成"\\"或者“/”。
①絕對路徑或者相對路徑。一定要注意,在R語言中\是轉義符,所以路徑分隔符需要寫成"\\"或者“/”。
所以寫成“C:\\myfile\\myfile.txt”或者“C:/myfile/myfile.txt”即可。
②使用file.choose(),彈出對話框,自動選擇文件位置。例如:read.table(file.choose(),...)。
②使用file.choose(),彈出對話框,自動選擇文件位置。例如:read.table(file.choose(),...)。
②使用剪切板導入。先excel文件copy到剪貼板,執行下面的語句,即可導入R
read.table("clipboard",sep="\t")
Excel的文件中,每個單元格以制表符分隔,而sep=“\t”的意思是,以制表符進行分割來讀取數據。當剪貼的excel中有空格時,需使用sep=“\t”,否則報錯。 例如
> dp<-read.table("clipboard",sep="\t") #使用剪切板導入數據
> dp #輸出
顯示結果如下:
(2) header來確定數據文件中第一行是不是標題。默認F,即認為數據文件沒有標題,也即認為第一行就開始是數據了!例如:
name age income
Tom 22 8000
如果header=F,讀進來的第一行數據是“name age income”,header=T,讀進來的第一行是“Tom 22 8000”。
(3)sep指定分隔符,默認是空格。quote是引號,默認就是雙引號。dec是小數點的表示,默認就是一個點。skip是確定是否跳過某些行。strip.white確定是否消除空白字符。blank.lines.skip確定是否跳過空白行。comment.char指定用於表示注釋的引導符號。
這是常用的參數設置,一般情況下,我們只需要默認值就夠了。
下面是一個簡單的例子,首行是標題而不是數據,使用“\t”進行分割而不是空格。讀取后的數據變量設為mydata。所以,可以寫出讀取方式為:
mydata<-read.table(file.choose(),header=T,sep="\t")
其中,T=TRUE,F=FALSE。
2 格式read.csv
read.csv(file, header = TRUE, sep = ",",quote="\"", dec=".",fill = TRUE,comment.char="")
注釋:csv是逗號分割的意思,所以sep必須是逗號。header是默認有標題的。fill默認填充,即遇到行不相等的情況,空白域自動添加既定值。
如果使用默認的設置,可以使用寫出:
mydata2<-read.csv(file.choose())
3 格式read.xlsx
這個在最開始的時候有寫過,在這里就不再詳細敘述了。
4 總結
雖然讀取文件的格式比較多,但是常用的比較少,把常用的熟悉了就可以。另外,多使用help語句和命令窗口輸入“?函數”,查看右側的提示即可減省很多時間,提高學習效率。
如輸入“?read.table”,則在Rstdio界面的右下角就會出現其用法。
