diff --git a/greenGridr/R/processGridSpyFiles.R b/greenGridr/R/processGridSpyFiles.R new file mode 100644 index 0000000000000000000000000000000000000000..0d25c5ac20ef77b3ef69c2494327105b10ec3cba --- /dev/null +++ b/greenGridr/R/processGridSpyFiles.R @@ -0,0 +1,26 @@ +#' Functions for processing grid spy data files +#' +#' \code{list1mGridSpyFiles}. Lists all available 1 minute grid spy files from data repository. The functions, like most others in this package will fail +#' if you do not have the data in a folder/directory corresponding to 'path'. Code borrows extensively from similar SAVE project function. +#' This could take quite a long time if you have a lot of files. +#' @param fpath the name of the directory where the function should look +#' @param pattern a pattern to match. Use the pattern to filter e.g. 1m (xx_at1.csv) from 30s () files +#' +#' @author Ben Anderson, \email{b.anderson@@soton.ac.uk} +#' @export +#' +list1mGridSpyFiles <- function(fpath, pattern){ + # /Volumes/hum-csafe/Research Projects/GREEN Grid/_RAW DATA/GridSpyData + # "*at1.csv$" + print(paste0("Looking for files matching ", pattern, " in ", fpath)) + fileListDT <- as.data.table(list.files(path = fpath, pattern = pattern, # use the pattern to filter e.g. 1m from 30s files + recursive = TRUE)) + fileListDT <- fileListDT[, + c("hhID","fileName") := tstrsplit(V1, "/") # get actual household id & filename + ] + fileListDT <- fileListDT[, + fullPath := paste0(fpath,"/",V1) # get actual file name + ] + print(paste0("Found ", tidyNum(nrow(fileListDT)), " of them.")) + return(fileListDT) +}