1. 程式人生 > >R語言輸入與輸出

R語言輸入與輸出

R讀取xls檔案方法:   readxl 可以很方便的讀取,且各個系統都通用。如果只是讀取的話,無疑是非常方便的方法。   只需要下載readxl包,用read_excel函式讀取就可以了,並且同時支援老版本的.xls格式和新版本的.xlsx格式。
  #下載和引用 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")
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