Skip to content
Snippets Groups Projects
Params-methods.R 1.3 KiB
Newer Older
  • Learn to ignore specific revisions
  • #' @rdname getParam
    setMethod("getParam", "Params", function(object, name) {
        slot(object, name)
    })
    
    #' @rdname setParam
    
    setMethod("setParam", "Params", function(object, name, value) {
    
    Luke Zappia's avatar
    Luke Zappia committed
        checkmate::assertString(name)
        slot(object, name) <- value
    
        validObject(object)
    
    Luke Zappia's avatar
    Luke Zappia committed
        return(object)
    })
    
    
    #' @rdname setParamUnchecked
    setMethod("setParamUnchecked", "Params", function(object, name, value) {
                  checkmate::assertString(name)
                  slot(object, name) <- value
                  return(object)
              })
    
    
    Luke Zappia's avatar
    Luke Zappia committed
    setMethod("show", "Params", function(object) {
    
        pp <- list("Global:" = c("(Genes)" = "nGenes",
                                 "(Cells)" = "nCells",
                                 "[Seed]"  = "seed"))
    
        cat("A Params object of class", class(object), "\n")
    
    Luke Zappia's avatar
    Luke Zappia committed
        cat("Parameters can be (estimable) or [not estimable],",
            "'Default' or 'NOT DEFAULT'.", "\n\n")
    
    Luke Zappia's avatar
    Luke Zappia committed
        showPP(object, pp)
        cat(length(slotNames(object)) - 3, "additional parameters", "\n\n")
    
    Luke Zappia's avatar
    Luke Zappia committed
    })
    
    setMethod("expandParams", "Params", function(object, vectors, n) {
    
        update <- list()
        for (parameter in vectors) {
            value <- getParam(object, parameter)
            if (length(value) == 1) {
                update[[parameter]] <- rep(value, n)
            }
        }
    
    
        object <- setParamsUnchecked(object, update)
    
    Luke Zappia's avatar
    Luke Zappia committed
    
        return(object)
    
    Luke Zappia's avatar
    Luke Zappia committed
    })