[R] Combining many csv files into one and adding a column with an id of each csv file read
jim holtman
jholtman at gmail.com
Wed Apr 9 01:13:59 CEST 2008
I blew it. Forgot to use the parameter. Here is the revised copy:
filenames <- Sys.glob("*.csv") # however you get the list of file
allData <- lapply(filenames, function(.file){
dat<-read.csv(.file, header=F)
dat<-dat[c(-1:-3),c(-1,-4,-5,-6,-7,-9,-10,-11,-12)]
names(dat)<-c('time','T1','T2')
dat <- dat[,1:3]
dat$id<-as.character(.file)
dat # return the dataframe
})
# combine into a single dataframe
myDF <- do.call(rbind, allData)
On Tue, Apr 8, 2008 at 7:12 PM, jim holtman <jholtman at gmail.com> wrote:
> Here is one way of doing it. Read the data into a list and then use
> 'do.call(rbind...':
>
> filenames <- Sys.glob("*.csv") # however you get the list of file
> allData <- lapply(filenames, function(.file){
> dat<-read.csv(filename, header=F)
> dat<-dat[c(-1:-3),c(-1,-4,-5,-6,-7,-9,-10,-11,-12)]
> names(dat)<-c('time','T1','T2')
> dat <- dat[,1:3]
>
> dat$id<-as.character(filename)
> dat # return the dataframe
> })
> # combine into a single dataframe
> myDF <- do.call(rbind, allData)
>
>
> On Tue, Apr 8, 2008 at 3:11 PM, Judith Flores <juryef at yahoo.com> wrote:
> > Dear R experts,
> >
> > I have been looking into the help-pages and old
> > questions from the R-Help site, but the options
> > offered there don't seem to work in my case.
> >
> > First of all, I am working on Windows XP, using R
> > version 2.6.2.
> >
> > I am attaching two csv files as an example of how
> > the data I am traying to put together is delivered to
> > us. On the first row of every csv file is the name of
> > the file, along with the pathfile. This is what I have
> > been doing with every csv files (per seprate), which
> > of course is not the most efficient way to do it;
> > basically, it reads the csv file, then deletes the
> > first 3 rows and some columns that we don't need and
> > finally I add another column that identifies all the
> > rows of the csv file as belonging to one subject only,
> > I have to do this for further manipulations with all
> > the data:
> >
> > filename<-'1_504_d0.csv'
> >
> > dat<-read.csv(filename, header=F)
> > dat<-dat[c(-1:-3),c(-1,-4,-5,-6,-7,-9,-10,-11,-12)]
> > names(dat)<-c('time','T1','T2')
> > dat<-dat[,1:3]
> >
> > dat$id<-as.character(filename)
> >
> > Since I have multiple csv files to read and I need
> > to have them consolidated in one data frame, how can I
> > apply the above manipulations to all the csv files and
> > at the same time put them in one files?
> >
> > At the end, I need a big data frame that has 4
> > columns"
> >
> > 'Time', 'T1', T2', 'id'
> >
> > I hope I have provided enough information.
> >
> > Thank you in advance for your help,
> >
> > Judith
> >
> >
> >
> > ____________________________________________________________________________________
> > [[elided Yahoo spam]]
> >
> > ______________________________________________
> > R-help at 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.
> >
> >
>
>
>
> --
> Jim Holtman
> Cincinnati, OH
> +1 513 646 9390
>
> What is the problem you are trying to solve?
>
--
Jim Holtman
Cincinnati, OH
+1 513 646 9390
What is the problem you are trying to solve?
More information about the R-help
mailing list