|
From: | David Rosenberg |
Subject: | Re: Use R to manage results from GNU Parallel |
Date: | Sun, 5 Jan 2014 08:13:08 -0500 |
But I would appreciate help with:
load_parallel_results_split_on_newline(filenametable)
load_parallel_results_split_to_columns(filenametable)
readChar(fileName, file.info(fileName)$size)
load_parallel_results_filenames <- function(resdir) {
## Find files called .../stdout
stdoutnames <- list.files(path=resdir, pattern="stdout", recursive=T);
## Find files called .../stderr
stderrnames <- list.files(path=resdir, pattern="stderr", recursive=T);
if(length(stdoutnames) == 0) {
## Return empty data frame if no files found
return(data.frame());
}
m <- matrix(unlist(strsplit(stdoutnames, "/")),nrow =
length(stdoutnames),byrow=T);
tbl <- as.table(m[,c(F,T)]);
## Append the stdout and stderr filenames
tbl <- cbind(tbl,unlist(stdoutnames),unlist(stderrnames));
colnames(tbl) <- c(strsplit(stdoutnames[1],"/")[[1]][c(T,F)],"stderr");
return(tbl);
}
load_parallel_results_raw_content <- function(tbl) {
## Read them
stdoutcontents <-
lapply(tbl[,c("stdout")],
function(x) {
return(paste(readLines(paste(resdir,x,sep="/")),collapse="\n"))
} );
stderrcontents <-
lapply(tbl[,c("stderr")],
function(x) {
return(paste(readLines(paste(resdir,x,sep="/")),collapse="\n"))
} );
# Replace filenames with file contents
tbl[,c("stdout","stderr")] <-
c(as.character(stdoutcontents),as.character(stderrcontents));
return(tbl);
}
[Prev in Thread] | Current Thread | [Next in Thread] |