Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get R to read in files from multiple subdirectories under one large directory?

Tags:

r

I am trying to get started with writing my first R code. I have searched for this answer but I am not quite sure what I've found is what I'm looking for exactly. I know how to get R to read in multiple files in the same subdirectory, but I'm not quite sure how to get it to read in one specific file from multiple subdirectories.

For instance, I have a main directory containing a series of trajectory replicates, each replicate is in it's own subdirectory. The break down is as follows;

"Main Dir" -> "SubDir1" -> "ReplicateDirs 1-6"

From each "ReplicateDir" I want R to pull the "RMSD.dat" table (file) to read from. All of the RMSD.dat files have identical names, they are just in different directories and contain different data of course.

I could move all the files to one folder but this doesn't seem like the most efficient way to attack this problem.

If anyone could enlighten me, I'd appreciate it.

Thanks

like image 760
D.A. Ragland Avatar asked Oct 26 '25 06:10

D.A. Ragland


1 Answers

This should work, of course change My Dir to your directory

dat.files  <- list.files(path="Main Dir",
                                recursive=T,
                                pattern="RMSD.dat"
                                ,full.names=T)

If you want to read the files into the data set, you could use the function below:

readDatFile <- function(f) {
  dat.fl <- read.csv(f) # You may have to change read.csv to match your data type
}

And apply to the list of files:

data.files <- sapply(dat.files, readDatFile)
like image 175
Konrad Avatar answered Oct 27 '25 20:10

Konrad