On Nov 27, 2013, at 2:39 PM, yetik serbest wrote: > Hi Everyone, > > I am trying to import many CSV files to their own matrices. Example, > alaska_93.csv to alaska. When I execute the following, for each csv.file > separately it is successful. > > singleCSVFile2Matrix <- function(x,path) { > assign(gsub(pattern=".csv",x,replacement=""),read.csv(paste(path,x,sep=""))) > } > > when I try to include it in a loop in another function (I have so many csv > files to import), it doesn't work. I mean the following function doesn't do > it. > > loadCSVFiles_old <- function(path) { > x <- list.files(path) > for (i in 1:length(x)) { > > assign(gsub(pattern=".csv",x[i],replacement=""),read.csv(paste(path,x[i],sep=""))) > } > }
It appears you are not returning the values that you created inside that function to the global environment. I would have expected that you would either given `assign` an environment argument or that you would have created a list of items to return from the function. ?environment ?assign Perhaps: loadCSVFiles_old <- function(path) { x <- list.files(path) for (i in 1:length(x)) { assign(gsub(pattern=".csv",x[i],replacement=""), read.csv(paste(path,x[i],sep=""))) envir=.GlobalEnv } } > > Instead, if I execute the foor loop in the command line, it works. I am > puzzled. Appreciate any help. > > thanks > yetik > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. David Winsemius Alameda, CA, USA ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.