0

I have a folder with 199 files (from blah-001-a.exp to blah-199-a.exp)

I want to do something like this for every file:

DF<- read.csv("D:/ebook/myfolder/blah-001-a.exp", sep=";")
xts<-xts(x=DF[,-c(1,13)], order.by = as.Date(x=DF$DATA,format="%d.%m.%Y"))
#other codes and report pdf file...

I tried some code like this but it only reads the files without trasform them into xts:

folder <- "D:/ebook/myfolder/"    
filenames <- list.files(path=folder) 
for (i in 1:length(filenames)){
      assign(filenames[i], 
             read.csv(paste0(folder, filenames[i]),sep=';')
      )}

Could you give me some suggestions? Thanks in advance.

Shaolin R
  • 25
  • 1
  • 10
  • Read the files in as a list. See the follow answer on [working with lists of data.frames](http://stackoverflow.com/questions/17499013/how-do-i-make-a-list-of-data-frames/24376207#24376207). It is the way to go. – lmo Apr 27 '16 at 15:39

1 Answers1

1
do.stuff <- function(file_in){
    DF <- read.csv(file_in, sep=";")
    xts <-xts(x=DF[,-c(1,13)], order.by =as.Date(x=DF$DATA,format="%d.%m.%Y"))
}
the_files <- list.files('path/to/files',full.names = T)
the_stuff <- lapply(1:length(the_files),function(i)do.stuff(the_files[[i]]))
names(the_stuff) <- basename(the_files)
Carl Boneri
  • 2,449
  • 1
  • 10
  • 14