R語言學習——R讀取txt、csv、xls和xlsx格式文件
最近項目中運用到了R讀取文件數據,所以把相關好用的、經過驗證的方法總結了一下,有效避免下次入坑。
1. R讀取txt文件
使用R
讀取txt
文件直接使用read.table()
方法進行讀取即可,不需要加載額外的包。
read.table("/home/slave/test.txt",header=T,na.strings = c("NA"))
- 1
註意,此處的na.strings = c("NA")
的意思是文件中的缺失數據都是用NA
進行表示;在讀取文本文件時,默認的分割符號為空格。具體的參數設置可參照如下:
read.table(file, header = FALSE, sep = "", quote = "\"‘",
dec = ".", numerals = c("allow.loss", "warn.loss", "no.loss"),
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, skipNul = FALSE)
2. R讀取csv文件
使用R
讀取csv
文件和讀取txt
文件很類似,使用的是read.csv()
方法,兩者參數的使用大部分是一樣的。
read.csv("/home/slave/test.csv", header=T, na.strings=c("NA"))
在讀取csv文件時,分割符為“,”
(這句基本是廢話,大家懂得);具體的參數設置可參考如下:
read.csv(file, header = TRUE, sep = ",", quote = "\"",
dec = ".", fill = TRUE, comment.char = "", ...)
3. R讀取xls和xlsx文件
讀取xls
和xlsx
有很多方法,但是這裏面的很多方法也不是特別好用,例如RODBC
包中的讀取xls
方法就不太好用,有時還會出現各種各樣的問題。在進行了一番入坑探索之後,找到了兩個相對好用的讀取xls
文件的包,下面我將分別進行說明。
- gdata
install.packages("gdata")
library(gdata)
read.xls("/home/slave/test.xls",sheet=1,na.strings=c("NA","#DIV/0!"))
其中sheet=1
參數的意思是讀取第一個sheet中的內容;na.strings=c("NA","#DIV/0!")
將"NA"
和 "#DIV/0!"
read.xls()
方法的具體參數設置可參考如下:
read.xls(xls, sheet=1, verbose=FALSE, pattern, na.strings=c("NA","#DIV/0!"),
..., method=c("csv","tsv","tab"), perl="perl")
read.xls()
方法只是gdata
包中的一個方法,gdata
包中還有一些有用的方法,例如xls轉csv
,xls轉txt
等,在這裏進行一些列舉:
xls2csv(xls, sheet=1, verbose=FALSE, blank.lines.skip=TRUE, ..., perl="perl")
xls2tab(xls, sheet=1, verbose=FALSE, blank.lines.skip=TRUE, ..., perl="perl")
xls2tsv(xls, sheet=1, verbose=FALSE, blank.lines.skip=TRUE, ..., perl="perl")
xls2sep(xls, sheet=1, verbose=FALSE, blank.lines.skip=TRUE, ...,
method=c("csv","tsv","tab"), perl="perl")
gdata
包有著很多的功能,但是它對其他的包的依賴很多,可能會出現各種不可預知的問題,下面介紹一個較少依賴的包。
- readxl
install.packages("readxl")
library(readxl)
read_excel("/home/slave/test.xls",sheet=1,na="NA")
這塊需要註意的一點是na="NA"
和其他讀取時的格式略有不同,下面列出了具體的參數設置:
read_excel(path, sheet = 1, col_names = TRUE, col_types = NULL, na = "", skip = 0)
註意:以上的兩個方法都可以對xls和xlsx
進行讀取。
至此,已將我們在R中常用到的讀取文件數據方法以及介紹完畢,下面就讓我們一起動手實驗吧。^_^
參考:
- http://www.cnblogs.com/xianghang123/archive/2012/06/06/2538274.html
- https://cran.r-project.org/web/packages/gdata/index.html
- https://github.com/hadley/readxl
--------------------- 本文來自 華仔的逆襲 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/tb3039450/article/details/52557200?utm_source=copy
R語言學習——R讀取txt、csv、xls和xlsx格式文件