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
}