You can try this one too.
#Set the directory to a path where all the files to be read are stored
TabletoRead=list.files(pattern=".txt")
I_Step=unlist(lapply(TabletoRead,function(tab){
srno<<-ifelse(exists("srno"),(1+srno),1)
Temp=read.table(tab,header=T,sep="#Seperator")
makeActiveBinding(paste("Table",srno,sep="_"),
function() Temp, .GlobalEnv)
}))
rm(I_Step)
Ref_Table=cbind(Orignial=TabletoRead,Stored_As=paste("Table",1:length(TabletoRead),sep="_"))
#When required you can check the Ref_Table to get the required table
On Thu, Dec 20, 2012 at 10:41 AM, Jeff Newmiller
<[email protected]>wrote:
> The short answer is: don't try. You really don't want dozens of different
> objects in memory that you didn't name yourself.
>
> What you want instead is a list of objects. You can start with a vector of
> filenames and use lapply to create another list containing the data frames.
> For convenience you can then set the list element names to the names of the
> files.
>
> fnames <- list.files()
> dta <- lapply( fnames, function(i){read.table(i, header= TRUE) })
> names(dta) <- fnames
>
> You can access these data frames using the $ or "[[" operators.
>
> dta$G1.txt
> dta[["G1.txt"]]
> or
> dta[[2]]
>
> Read more about it in the Introduction to R document supplied with R.
> ---------------------------------------------------------------------------
> Jeff Newmiller The ..... ..... Go Live...
> DCN:<[email protected]> Basics: ##.#. ##.#. Live
> Go...
> Live: OO#.. Dead: OO#.. Playing
> Research Engineer (Solar/Batteries O.O#. #.O#. with
> /Software/Embedded Controllers) .OO#. .OO#. rocks...1k
> ---------------------------------------------------------------------------
> Sent from my phone. Please excuse my brevity.
>
> Yao He <[email protected]> wrote:
>
> >Dear All
> >
> >I have a lot of files in a directory as follows:
> >"02-03.txt" "03-04.txt" "04-05.txt" "05-06.txt" "06-07.txt"
> >"07-08.txt" "08-09.txt"
> > "09-10.txt" "G0.txt" "G1.txt" "raw_ped.txt"
> >..........................
> >
> >I want to read them into different objects according to their
> >filenames,such as:
> >02-03<-read.table("02-03.txt",header=T)
> >03-04<-read.table("03-04.txt",header=T)
> >I don't want to type hundreds of read.table(),so how I read it in one
> >time?
> >I think the core problem is that I can't create different objects'
> >name in the use of loop or sapply() ,but there may be a better way to
> >do what I want.
> >
> >Thanks a lot
> >
> >Yao He
> >
> >Yao He
>
> ______________________________________________
> [email protected] 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.
>
[[alternative HTML version deleted]]
______________________________________________
[email protected] 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.