Nothing
#' @title pgu.filter
#'
#' @description
#' Filter the pguIMP dataset.
#'
#' @details
#' The filtering is done by column and row indices.
#' This object is used by the shiny based gui and is not for use in individual R-scripts!
#'
#' @format [R6::R6Class] object.
#'
#' @importFrom magrittr %>%
#' @importFrom dplyr select slice
#' @importFrom R6 R6Class
#' @importFrom tibble is_tibble tibble
#'
#' @author Sebastian Malkusch, \email{malkusch@@med.uni-frankfurt.de}
#'
#' @export
#'
pgu.filter <- R6::R6Class("pgu.filter",
####################
# instance variables
####################
private = list(
.colIdx = "numeric",
.rowIdx = "numeric",
#' @description
#' Resets the filter parameter colIdx to the full dataframe.
reset_colIdx = function(data_df = "tbl_df")
{
self$setColIdx <- seq(1,ncol(data_df), 1)
}, #end pguIMP::pgi.filter$reset_colIndex()
#' @description
#' Resets the filter parameter rowIdx to the full dataframe.
reset_rowIdx = function(data_df = "tbl_df")
{
self$setRowIdx <- seq(1,nrow(data_df), 1)
}, #end pguIMP::pgu.filter$reset_rowIdx
#' @description
#' Clears the heap and
#' indicates that instance of pguIMP::pgu.filter is removed from heap.
finalize = function()
{
print("Instance of pgu.filter removed from heap")
} #end pguIMP::pgu.filter$finalize()
),
##################
# accessor methods
##################
active = list(
#' @field colIdx
#' Returns the instance variable colIdx
#' (numeric)
colIdx = function()
{
return(private$.colIdx)
},
#' @field setColIdx
#' Sets the instance variable colIdx
#' (numeric)
setColIdx = function(idx = "numeric")
{
if(is.numeric(idx))
{
private$.colIdx <- idx %>%
sort()
}#if
},
#' @field rowIdx
#' Returns the instance variable rowIdx
#' (numeric)
rowIdx = function()
{
return(private$.rowIdx)
},
#' @field setRowIdx
#' Sets the instance variable rowIdx
#' (numeric)
setRowIdx = function(idx = "numeric")
{
if(is.numeric(idx))
{
private$.rowIdx = idx %>%
sort()
}#if
}
),
####################
# public functions #
####################
public = list(
#' @description
#' Creates and returns a new pguIMP::pgu.filter object.
#' @param data_df
#' The data to be analyzed.
#' (tibble::tibble)
#' @return
#' A new pguIMP::pgu.filter object.
#' (pguIMP::pgu.filter)
initialize = function(data_df = "tbl_df")
{
if(!tibble::is_tibble(data_df)){
tibble::tibble(names <- "none",
values <- c(NA)) %>%
self$reset()
}else{
data_df %>%
self$reset()
}#if
}, #end pguIMP::pgu.filter$initialize()
#' @description
#' Prints instance variables of a pguIMP::pgu.filter object.
#' @return
#' string
print = function()
{
sprintf("\npgu.filter\ncolIdx:\n") %>%
cat()
print(self$colIdx)
sprintf("\nrowIdx:\n") %>%
cat()
print(self$rowIdx)
cat("\n\n")
invisible(self)
}, #end pguIMP::pgu.filter$print()
#' @description
#' Resets the filter parameter colIdx and rowIdx to the full dataframe.
#' @param data_df
#' The data to be analyzed.
#' (tibble::tibble)
reset = function(data_df = "tbl_df")
{
private$reset_colIdx(data_df)
private$reset_rowIdx(data_df)
}, #end pguIMP::pgi.filter$reset()
#' @description
#' Filters and returns the given data frame.
#' @param data_df
#' The data to be analyzed.
#' (tibble::tibble)
#' @return
#' The filtered data frame
#' (tibble::tibble)
predict = function(data_df = "tbl_df")
{
data_df %>%
dplyr::select(self$colIdx) %>%
dplyr::slice(self$rowIdx) %>%
return()
} #end pguIMP::pgi.filter$predict()
)#public
)#class
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.