R語言外部數據讀取


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語言中\是轉義符,所以路徑分隔符需要寫成"\\"或者“/”。
所以寫成“C:\\myfile\\myfile.txt”或者“C:/myfile/myfile.txt”即可。
②使用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界面的右下角就會出現其用法。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM