R 3.0.3: I have 40 csv files all structured the same that I want to rbind
into one file so I can calculate the mean of one column.
I searched:
R in a Nutshell
R_Intro
sources?rbind Help
in RStudioI cannot find the answer.
Any suggestions/pointers?
Using R Base read. R base function provides read. csv() to import a CSV file into DataFrame. You can also use to this to import multiple CSV files at a time in R.
Using the answer from here [Importing several files and indexing them ]
list files with .csv extension - this assumes that the only .csv files in your working directory are the ones you want to read
files <- list.files(pattern = '\\.csv')
read files into a list - are there headers?
tables <- lapply(files, read.csv, header = TRUE)
rbind files
combined.df <- do.call(rbind , tables)
You can then find the mean - find which columns are numeric
s <- sapply(combined.df, is.numeric)
find the mean of numeric variables
colMeans(combined.df[s])
In more contemporary plyr approach:
files <- list.files(...)
data <- adply(files, 1, read.table)
(it's saturday afternoon: untested code, but the approach is fine)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With