That function is iteratively called from analyzeRep
to analyze
a replicate dataset at each step defined by the interims.
Usage
performAnalysis(
analysisCode,
doses,
data,
software = c("R", "SAS"),
includeRows = NULL,
interimCol = getEctdColName("Interim"),
doseCol = getEctdColName("Dose"),
seed = .deriveFromMasterSeed(),
workingPath = getwd(),
cleanUp = TRUE,
tempSasDir = tempdir()
)
Arguments
- analysisCode
(Required) Analysis code: An R function, a reference to an external R script, or a reference to an external SAS script
- doses
(Required) Vector of doses for which estimates are expected
- data
(Required) Input dataset on which to perform analysis
- software
(Optional) Software for analysis: "R" or "SAS" (default is "R")
- includeRows
(Optional) 2 column matrix specifying interims and doses to include in analysis. By default, no subsets are applied
- interimCol
Interim flag column name
- doseCol
Dose column name
- seed
(Optional) Random number generation seed. By default, this is derived from the current random seed
- workingPath
(Optional) Working directory for the analysis. The default is the current working directory
- cleanUp
(Optional) Logical: Should we remove the files that have been passed in and out of SAS?
- tempSasDir
Temporary Sas Directory
Value
The function should output a valid "Micro Evaluation" data structure
as specified in the checkMicroFormat
help file.
Details
The function tries to perform the analysis contained in the
analysisCode
against the data
. The analysis code specified is
either an external file containing code (SAS and R), or an R function (R
only).
If software is set to "SAS" the analysis code is assumed to be a reference
to an external SAS script. The SAS code must accept a single dataset called
work.infile, and create an output dataset called work.outfile. The
work.outfile dataset must be a valid "Micro Evaluation" structure as
specified in the help file for checkMicroFormat
. If the
software is "R", the analysis code input must be either an R function or an
R script. The R analysis code must also return a valid "Micro Evaluatoin"
structure as specified in function checkMicroFormat
Author
Mike K Smith mstoolkit@googlemail.com
Examples
if (FALSE) {
# Emax example
anaCode <- function(data){
with( data, {
uniDoses <- sort( unique(DOSE))
outDf <- data.frame( DOSE = uniDoses,
MEAN = tapply(RESP, DOSE, mean) ,
SE = tapply(RESP, DOSE, sd ) )
outDf$LOWER <- outDf$MEAN - 2 * outDf$SE
outDf$UPPER <- outDf$MEAN + 2 * outDf$SE
outDf$N <- table(DOSE)[ as.character(uniDoses) ]
outDf
})
}
# example data
exData <- system.file( "Runit", "data", "analyseRep", "ReplicateData", "replicate0001.csv",
package = "MSToolkit")
out <- performAnalysis(anaCode, data = exData, doses = c(0, 5, 25, 50, 100) )
checkMicroFormat( out ) # Check the format of the return structure
}