#' log transform #' #' applies a log transform to the input data #' @export log_transform log_transform<-setClass( "log_transform", contains = c('method'), slots=c(params.base='entity', outputs.transformed='entity' ), prototype=list(name = 'logarithm transform', description = 'applies a log tranform to the data.', type = 'transform', predicted = 'transformed', params=c('base'), outputs=c('transformed'), params.qc_label=entity(name = 'logarithm base', description = 'The base of the logarithm used for the tranform.', value = 10, type='numeric'), outputs.transformed=entity(name = 'log transformed dataset', description = 'A dataset object containing the log transformed data.', type='dataset', value=dataset() ) ) ) #' @export setMethod(f="method.apply", signature=c("log_transform","dataset"), definition=function(M,D) { opt=param.list(M) smeta=dataset.sample_meta(D) x=dataset.data(D) out = log(x,base = opt$base) dataset.data(D) = as.data.frame(out) output.value(M,'transformed') = D return(M) } )