[R] Importing data by targeting in filenames inside a nested list

BARLAS Marios 247554 Marios.BARLAS at cea.fr
Tue Dec 8 12:29:57 CET 2015


Hello everyone,

So, rookie me is trying to write a smart code, so here's what I'm doing:

I have a list of a couple of hundrend files, some of which refer to different experiments. 
The naming of the file refers to the experiment and the serial number to the topological reference on my sample.

Performing my data analysis in 1 file class at a time looks OK, so I'm trying to generalize my code.
I figured out I could group them together by performing a pattern read on a nested list, which works for getting the file names and grouping them but then I'm getting some problems when I try to perform the import from the nested list. My code looks like this:

# Vector containing file name patterns to be read and grouped together
measurement_filenames <- c("*Q_Read_prist*", "*Quasi_Forming*", "*read_set#1*","*Q_Reset_pForm#1*","*read_reset#2*","*quasistatic_set*", "*read_set#2*", "*quasistatic_reset#2*" )

# Create a list of the files to be read in sorted in a natural fashion
electrical_meas_files <- lapply(measurement_filenames, function(x) naturalsort(list.files(path, pattern=x)))
names(electrical_meas_files) <- measurement_filenames

# Perform data import for each element

for(i in 1:length(measurement_filenames))
{
  electrical_meas_raw_data[[i]] <- lapply(electrical_meas_files[[i]], function(x) read.xlsx(file=x, sheetName="Data", header=TRUE, as.data.frame =TRUE,  stringsAsFactors = F) )
}



My idea is to come up with a nested list of the structure 
{list of different experiments}
	{list of all sites where the experiment was run}
		{set of dataframes with all data for each site}


Do I make sense or am I over-complicating the situation ?


Any ideas how I could write this piece of code or improve it ?

Thanks in advance,
Mario



More information about the R-help mailing list