从R中读取许多Excel文件

从R中读取许多Excel文件,r,excel,R,Excel,这是我第一次使用R,所以问题可能很小 我需要下载的日期从xls文件从url和每一个都应该在一个数据帧。 喜欢 我决定使用gdata包(包'xlsreadswrite'不适用于R版本3.1.0,RODBC不适用于win64) 下载一个文件非常有效 (例如,2013年) readxls避免对循环使用,特别是它的副作用。最好在这里使用lappy。这是R的做事方式(函数式编程)。在这里,我会这样做: library(gdata) readxls<-function() { ids <-

这是我第一次使用R,所以问题可能很小

我需要下载的日期从xls文件从url和每一个都应该在一个数据帧。 喜欢

我决定使用gdata包(包'xlsreadswrite'不适用于R版本3.1.0,RODBC不适用于win64)

下载一个文件非常有效 (例如,2013年)


readxls避免对
循环使用
,特别是它的副作用。最好在这里使用
lappy
。这是R的做事方式(函数式编程)。在这里,我会这样做:

library(gdata)
readxls<-function()
{
  ids <- seq(y_begin,y_end)
  links <-paste0("http://nbp.pl/kursy/archiwum/archiwum_tab_a_",ids,".xls")

  lapply (links,function(i)
     read.xls(link, sheet = 1, perl = "C:\\Perl64\\bin\\perl.exe", header=TRUE) 
  )
}
库(gdata)

readxls非常感谢,但答案更简单。这足以使ldata[[j]]

readxls<-function()
{
  library("gdata")

  ldata<<- list()
  j=1
  for (i in y_begin:y_end)
  {
    link<-paste0("http://nbp.pl/kursy/archiwum/archiwum_tab_a_",i,".xls")
    xlsdata <<- read.xls(link, sheet = 1, perl = "C:\\Perl64\\bin\\perl.exe", header=TRUE) 

    ldata[[j]] <<- xlsdata
    j<-j+1
  }
}
readxls
library(gdata)
readxls<-function()
{
  ids <- seq(y_begin,y_end)
  links <-paste0("http://nbp.pl/kursy/archiwum/archiwum_tab_a_",ids,".xls")

  lapply (links,function(i)
     read.xls(link, sheet = 1, perl = "C:\\Perl64\\bin\\perl.exe", header=TRUE) 
  )
}
ll <- readxls()
do.call(rbind,ll)
readxls<-function()
{
  library("gdata")

  ldata<<- list()
  j=1
  for (i in y_begin:y_end)
  {
    link<-paste0("http://nbp.pl/kursy/archiwum/archiwum_tab_a_",i,".xls")
    xlsdata <<- read.xls(link, sheet = 1, perl = "C:\\Perl64\\bin\\perl.exe", header=TRUE) 

    ldata[[j]] <<- xlsdata
    j<-j+1
  }
}