Nothing
#'output peak table from AdductQuantif object
#'
#'@param object a 'AdductQuantif' class object
#'@param outputDir character full path to a directory to output the peak to
#'default is the current working directory
#'@return a peaktable with number of rows equal to the number of adducts
#'quantified and 14 peak group information columns plus a number of columns
#'equal to the number of samples quantified.
#'The peak table is saved as a csv file in the output directory
#'named: adductQuantif_peakList_'todays date'.csv.
#'The peak table is also returned to
#'the R session and can be assigned to an object.
#'@usage outputPeakTable(object = NULL, outputDir = NULL)
#'@examples
#'\dontrun{
#'outputPeakTable(object=get(load(paste0(system.file("extdata",
#'package= "adductData"), '/adductQuantResults.Rdata'))))}
#'@export
outputPeakTable <- function(object = NULL, outputDir = NULL) {
if (is.null(object)) {
stop("object is missing with no default")
}
if (!is(object, "AdductQuantif")) {
stop("object is not an \"AdductQuantif\" class object")
}
if (is.null(outputDir)) {
outputDir <- getwd()
}
outputDir <- paste0(outputDir, "/")
# output table
peakQuantTable <- peakQuantTable(object)
fileNamesTmp <- unique(peakQuantTable[, "file"])
peakQuantDf <-
data.frame(matrix(
peakQuantTable(object)[, "peakArea"],
byrow = FALSE,
ncol = length(fileNamesTmp)
),
stringsAsFactors = FALSE)
colnames(peakQuantDf) <- fileNamesTmp
# weighted average of column names
reqPeakColumns <- c(
"massAcc",
"rtDev",
"peakWidth",
"peakArea",
"height",
"mzmed",
"mzmax",
"mzmin",
"corrRtMed",
"corrRtMin",
"corrRtMax",
"rtmed",
"rtmin",
"rtmax"
)
resMatrixTmp <- matrix(0,
nrow = nrow(peakQuantDf),
ncol = length(reqPeakColumns))
colnames(resMatrixTmp) <- reqPeakColumns
for (i in seq_along(reqPeakColumns)) {
# change to weighted mean with by
nonZeroIndx <-
as.numeric(peakQuantTable[, reqPeakColumns[i]]) != 0
wMeanColTmp <- tapply(
as.numeric(peakQuantTable[,reqPeakColumns[i]])[nonZeroIndx],
as.factor(peakQuantTable[, "featureName"])[nonZeroIndx],
mean)
tmpidx <- match(peakQuantTable[seq_len(nrow(resMatrixTmp)),
"featureName"],
names(wMeanColTmp))
resMatrixTmp[, i] <- as.numeric(wMeanColTmp)[tmpidx]
}
peakQuantDf <- data.frame(cbind(targTable(object),
resMatrixTmp, peakQuantDf),
stringsAsFactors = FALSE)
write.csv(
peakQuantDf,
paste0(outputDir, "adductQuantif_peakList_",
Sys.Date(),
".csv"),
row.names = FALSE
)
return(peakQuantDf)
} # end function
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.