R語言輸入與輸出
阿新 • • 發佈:2018-12-02
R讀取xls檔案方法:
readxl包 可以很方便的讀取,且各個系統都通用。如果只是讀取的話,無疑是非常方便的方法。
只需要下載readxl包,用read_excel函式讀取就可以了,並且同時支援老版本的.xls格式和新版本的.xlsx格式。
XLSX 包
read.xlsx ("file.xlsx")
使用剪貼簿
複製內容,然後在R中輸入:
read.table("clipboard",header=T)
批量讀取:
批量讀取資料,有兩種形式,讀取一個目錄下的所有檔案,從資料庫中讀取多個表。
##讀取同一目錄下的所有檔案
path <- "F:/Rfile/OD-B/Data" ##檔案目錄
fileNames <- dir(path) ##獲取該路徑下的檔名
filePath <- sapply(fileNames, function(x){
paste(path,x,sep='/')}) ##生成讀取檔案路徑
data <- lapply(filePath, function(x){
read.csv(x, header=T)}) ##讀取資料,結果為list
##從資料庫中讀取資料類似上面,獲取要資料庫裡的檔名,寫個正則篩選檔名後for迴圈讀取。
批量輸出:
對結果批量輸出csv檔案,其中data為list格式
outPath <- "F:/Rfile/OD-B/Consequence" ##輸出路徑
out_fileName <- sapply(names(data),function(x){
paste(x, ".csv", sep='’)} ) ##csv格式
out_filePath <- sapply(out_fileName, function(x){
paste(outPath ,x,sep='/')}) ##輸出路徑名
##輸出檔案
for(i in 1:length(data)){
write.csv(data[[i]], file=out_filePath[i], row.name=F)
}
example:
out_fileName<-sapply(1:6,function(x){paste("class",x,".csv",sep="")})
for (i in 1:6){
class.name<-subset(score.chushi,score.chushi[5]==i)
write.csv(class.name,file=out_fileName[i])
}
outfile: class1.csv class2.csv
#下載和引用 install.packages("readxl") library(readxl) #讀取Excel read_excel("old_excel.xls") read_excel("new_excel.xlsx") #sheet引數,指定sheet名或者數字 read_excel("excel.xls",sheet=2) read_excel("excel.xls",sheet="data") # If NAs are represented by something other than blank cells, # set the na argument read_excel("excel.xls", na = “NA") |