diff --git a/DESCRIPTION b/DESCRIPTION index ef4713ac..ca536d8d 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -25,7 +25,8 @@ Depends: R (>= 3.6.0) Imports: jmvcore, - R6 + R6, + magrittr Remotes: ddsjoberg/gtsummary, ndphillips/FFTrees, @@ -56,7 +57,6 @@ Suggests: explore, rpart, rpart.plot, - magrittr, plotROC, arsenal, easyalluvial, diff --git a/NAMESPACE b/NAMESPACE index de435809..6ac5189d 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -25,4 +25,5 @@ export(vartree) import(jmvcore) importFrom(R6,R6Class) importFrom(jmvcore,toNumeric) +importFrom(magrittr,"%>%") importFrom(utils,data) diff --git a/R/alluvial.b.R b/R/alluvial.b.R index 184ca8a0..18d088c5 100644 --- a/R/alluvial.b.R +++ b/R/alluvial.b.R @@ -1,3 +1,10 @@ +#' @title Alluvial Plot +#' @return Alluvial Plot +#' @importFrom R6 R6Class +#' @import jmvcore +#' @importFrom magrittr %>% +#' + # This file is a generated template, your changes will not be overwritten @@ -36,15 +43,6 @@ alluvialClass <- if (requireNamespace('jmvcore')) R6::R6Class( - - - - - - - - - # #Errors ---- # # if (is.null(self$options$vars) ) @@ -106,29 +104,6 @@ alluvialClass <- if (requireNamespace('jmvcore')) R6::R6Class( # html$setContent(plothtml) - - - - - - - - - - - - - - - - - - - - - - - } } @@ -161,20 +136,20 @@ alluvialClass <- if (requireNamespace('jmvcore')) R6::R6Class( verbose <- FALSE + verb <- self$options$verb + if (isTRUE(verb)) verbose <- TRUE # fill_by ---- - jmvcore::composeTerm(self$options$fill) - - self$options$fill + fill <- jmvcore::composeTerm(self$options$fill) #bin bin <- self$options$bin - if (bin = "default") bin <- 'c("LL", "ML", "M", "MH", "HH")' + if (bin == "default") bin <- c("LL", "ML", "M", "MH", "HH") # Exclude NA ---- @@ -223,5 +198,48 @@ alluvialClass <- if (requireNamespace('jmvcore')) R6::R6Class( print(plot) TRUE - }) + } + + + , + + .plot2 = function(image, ...) { + # the plot function ---- + + #Errors ---- + + if (is.null(self$options$condensationvar) ) + return() + + if (nrow(self$data) == 0) + stop('Data contains no (complete) rows') + + # Prepare Data ---- + + condvarName <- self$options$condensationvar + + condvarName <- jmvcore::composeTerm(components = condvarName) + + + + plot2 <- self$data %>% + easyalluvial::plot_condensation(df = ., + first = .data[[condvarName]]) + + + # Print Plot ---- + + print(plot2) + TRUE + + + + + } + + + + + + ) ) diff --git a/R/alluvial.h.R b/R/alluvial.h.R index c0a14931..7bac5a84 100644 --- a/R/alluvial.h.R +++ b/R/alluvial.h.R @@ -7,8 +7,12 @@ alluvialOptions <- if (requireNamespace('jmvcore')) R6::R6Class( public = list( initialize = function( vars = NULL, + condensationvar = NULL, excl = TRUE, - marg = FALSE, ...) { + marg = FALSE, + verb = FALSE, + fill = "first_variable", + bin = "default", ...) { super$initialize( package='ClinicoPath', @@ -19,6 +23,9 @@ alluvialOptions <- if (requireNamespace('jmvcore')) R6::R6Class( private$..vars <- jmvcore::OptionVariables$new( "vars", vars) + private$..condensationvar <- jmvcore::OptionVariable$new( + "condensationvar", + condensationvar) private$..excl <- jmvcore::OptionBool$new( "excl", excl, @@ -27,26 +34,62 @@ alluvialOptions <- if (requireNamespace('jmvcore')) R6::R6Class( "marg", marg, default=FALSE) + private$..verb <- jmvcore::OptionBool$new( + "verb", + verb, + default=FALSE) + private$..fill <- jmvcore::OptionList$new( + "fill", + fill, + options=list( + "first_variable", + "last_variable", + "all_flows", + "values"), + default="first_variable") + private$..bin <- jmvcore::OptionList$new( + "bin", + bin, + options=list( + "default", + "mean", + "median", + "min_max", + "cuts"), + default="default") self$.addOption(private$..vars) + self$.addOption(private$..condensationvar) self$.addOption(private$..excl) self$.addOption(private$..marg) + self$.addOption(private$..verb) + self$.addOption(private$..fill) + self$.addOption(private$..bin) }), active = list( vars = function() private$..vars$value, + condensationvar = function() private$..condensationvar$value, excl = function() private$..excl$value, - marg = function() private$..marg$value), + marg = function() private$..marg$value, + verb = function() private$..verb$value, + fill = function() private$..fill$value, + bin = function() private$..bin$value), private = list( ..vars = NA, + ..condensationvar = NA, ..excl = NA, - ..marg = NA) + ..marg = NA, + ..verb = NA, + ..fill = NA, + ..bin = NA) ) alluvialResults <- if (requireNamespace('jmvcore')) R6::R6Class( inherit = jmvcore::Group, active = list( todo = function() private$.items[["todo"]], - plot = function() private$.items[["plot"]]), + plot = function() private$.items[["plot"]], + plot2 = function() private$.items[["plot2"]]), private = list(), public=list( initialize=function(options) { @@ -64,7 +107,9 @@ alluvialResults <- if (requireNamespace('jmvcore')) R6::R6Class( "vars", "excl", "marg", - "inter"))) + "verb", + "fill", + "bin"))) self$add(jmvcore::Image$new( options=options, title="Alluvial Diagrams", @@ -77,7 +122,20 @@ alluvialResults <- if (requireNamespace('jmvcore')) R6::R6Class( "vars", "excl", "marg", - "inter")))})) + "verb", + "fill", + "bin"))) + self$add(jmvcore::Image$new( + options=options, + title="`Condensation Plot ${condensationvar}`", + name="plot2", + width=600, + height=450, + renderFun=".plot2", + requiresData=TRUE, + clearWith=list( + "condensationvar"), + visible="(condensationvar)"))})) alluvialBase <- if (requireNamespace('jmvcore')) R6::R6Class( "alluvialBase", @@ -105,35 +163,51 @@ alluvialBase <- if (requireNamespace('jmvcore')) R6::R6Class( #' @param data The data as a data frame. #' @param vars a string naming the variables from \code{data} that contains #' the values used for the Alluvial Diagram. +#' @param condensationvar The primary variable to be used for condensation. #' @param excl . #' @param marg . +#' @param verb . +#' @param fill A list for the argument fill for selecting the variable to be +#' represented by color. Default is 'first_variable'. +#' @param bin labels for the bins from low to high #' @return A results object containing: #' \tabular{llllll}{ #' \code{results$todo} \tab \tab \tab \tab \tab a html \cr #' \code{results$plot} \tab \tab \tab \tab \tab an image \cr +#' \code{results$plot2} \tab \tab \tab \tab \tab an image \cr #' } #' #' @export alluvial <- function( data, vars, + condensationvar, excl = TRUE, - marg = FALSE) { + marg = FALSE, + verb = FALSE, + fill = "first_variable", + bin = "default") { if ( ! requireNamespace('jmvcore')) stop('alluvial requires jmvcore to be installed (restart may be required)') if ( ! missing(vars)) vars <- jmvcore::resolveQuo(jmvcore::enquo(vars)) + if ( ! missing(condensationvar)) condensationvar <- jmvcore::resolveQuo(jmvcore::enquo(condensationvar)) if (missing(data)) data <- jmvcore::marshalData( parent.frame(), - `if`( ! missing(vars), vars, NULL)) + `if`( ! missing(vars), vars, NULL), + `if`( ! missing(condensationvar), condensationvar, NULL)) options <- alluvialOptions$new( vars = vars, + condensationvar = condensationvar, excl = excl, - marg = marg) + marg = marg, + verb = verb, + fill = fill, + bin = bin) analysis <- alluvialClass$new( options = options, diff --git a/R/crosstable.b.R b/R/crosstable.b.R index 773944ca..14040a5b 100644 --- a/R/crosstable.b.R +++ b/R/crosstable.b.R @@ -104,7 +104,9 @@ crosstableClass <- if (requireNamespace('jmvcore')) R6::R6Class( # myvars <- unlist(myvars) mydata %>% - summary_factorlist(dependent = self$options$group, + finalfit::summary_factorlist( + .data = ., + dependent = self$options$group, explanatory = myvars, # column = TRUE, total_col = TRUE, diff --git a/R/multisurvival.b.R b/R/multisurvival.b.R index 5702bcc0..2046893f 100644 --- a/R/multisurvival.b.R +++ b/R/multisurvival.b.R @@ -144,7 +144,7 @@ multisurvivalClass <- if (requireNamespace('jmvcore')) R6::R6Class( formulaR <- jmvcore::toNumeric(formulaR) - myformula <- paste("Surv(", formulaL, ",", formulaR, ")") + myformula <- paste("survival::Surv(", formulaL, ",", formulaR, ")") # https://finalfit.org/reference/hr_plot.html @@ -204,7 +204,7 @@ multisurvivalClass <- if (requireNamespace('jmvcore')) R6::R6Class( formula2 <- jmvcore::constructFormula(terms = self$options$explanatory) - formula3 <- paste("Surv(", formulaL, ",", formulaR, ") ~ ", formula2) + formula3 <- paste("survival::Surv(", formulaL, ",", formulaR, ") ~ ", formula2) formula3 <- as.formula(formula3) diff --git a/R/reportcat.b.R b/R/reportcat.b.R index 30b7cc16..2c28bfd5 100644 --- a/R/reportcat.b.R +++ b/R/reportcat.b.R @@ -1,10 +1,9 @@ #' @title Summary of Categorical Variables -#' -#' -#' +#' @return Text #' #' @importFrom R6 R6Class #' @import jmvcore +#' @importFrom magrittr %>% #' reportcatClass <- if (requireNamespace('jmvcore')) R6::R6Class( diff --git a/README.Rmd b/README.Rmd index 85a85b85..f01d6cbf 100644 --- a/README.Rmd +++ b/README.Rmd @@ -131,6 +131,18 @@ https://osf.io/9szud/ 🔬🔬🔬🔬 UNDER CONSTRUCTION 🛠⛔️⚠️🔩 + + +#### Alluvial Diagrams + +🔬🔬🔬🔬 UNDER CONSTRUCTION 🛠⛔️⚠️🔩 + + + + + + + --- ### Comparisons diff --git a/README.md b/README.md index 1bf1feed..5855601f 100644 --- a/README.md +++ b/README.md @@ -94,6 +94,12 @@ DOI 10.17605/OSF.IO/9SZUD 🔬🔬🔬🔬 UNDER CONSTRUCTION 🛠⛔️⚠️🔩 +#### Alluvial Diagrams + +🔬🔬🔬🔬 UNDER CONSTRUCTION 🛠⛔️⚠️🔩 + + + ----- ### Comparisons @@ -310,7 +316,7 @@ Badge](https://depshield.sonatype.org/badges/sbalci/ClinicoPathJamoviModule/deps version](https://img.shields.io/badge/GitHub-0.0.1.1000-orange.svg?style=flat-square)](https://github.com/sbalci/clinicopathjamovimodule/) [![GitHub last commit](https://img.shields.io/github/last-commit/sbalci/clinicopathjamovimodule)](https://github.com/sbalci/clinicopathjamovimodule/commits/master) -[![Last-changedate](https://img.shields.io/badge/last%20change-2020--05--20-yellowgreen.svg)](https://github.com/sbalci/clinicopathjamovimodule/commits/master) +[![Last-changedate](https://img.shields.io/badge/last%20change-2020--05--23-yellowgreen.svg)](https://github.com/sbalci/clinicopathjamovimodule/commits/master) ![GitHub Release Date](https://img.shields.io/github/release-date/sbalci/clinicopathjamovimodule) ![GitHub last @@ -393,7 +399,7 @@ Badge](https://depshield.sonatype.org/badges/sbalci/ClinicoPathJamoviModule/deps version](https://img.shields.io/badge/GitHub-0.0.1.1000-orange.svg?style=flat-square)](https://github.com/sbalci/clinicopathjamovimodule/) [![GitHub last commit](https://img.shields.io/github/last-commit/sbalci/clinicopathjamovimodule)](https://github.com/sbalci/clinicopathjamovimodule/commits/master) -[![Last-changedate](https://img.shields.io/badge/last%20change-2020--05--20-yellowgreen.svg)](https://github.com/sbalci/clinicopathjamovimodule/commits/master) +[![Last-changedate](https://img.shields.io/badge/last%20change-2020--05--23-yellowgreen.svg)](https://github.com/sbalci/clinicopathjamovimodule/commits/master) ![GitHub Release Date](https://img.shields.io/github/release-date/sbalci/clinicopathjamovimodule) ![GitHub last diff --git a/codemeta.json b/codemeta.json index 97486e9d..23e69340 100644 --- a/codemeta.json +++ b/codemeta.json @@ -308,18 +308,6 @@ }, "sameAs": "https://CRAN.R-project.org/package=rpart.plot" }, - { - "@type": "SoftwareApplication", - "identifier": "magrittr", - "name": "magrittr", - "provider": { - "@id": "https://cran.r-project.org", - "@type": "Organization", - "name": "Comprehensive R Archive Network (CRAN)", - "url": "https://cran.r-project.org" - }, - "sameAs": "https://CRAN.R-project.org/package=magrittr" - }, { "@type": "SoftwareApplication", "identifier": "plotROC", @@ -567,6 +555,18 @@ "url": "https://cran.r-project.org" }, "sameAs": "https://CRAN.R-project.org/package=R6" + }, + { + "@type": "SoftwareApplication", + "identifier": "magrittr", + "name": "magrittr", + "provider": { + "@id": "https://cran.r-project.org", + "@type": "Organization", + "name": "Comprehensive R Archive Network (CRAN)", + "url": "https://cran.r-project.org" + }, + "sameAs": "https://CRAN.R-project.org/package=magrittr" } ], "releaseNotes": "https://github.com/sbalci/ClinicoPathJamoviModule/blob/master/NEWS.md", @@ -597,6 +597,6 @@ "survival-analysis", "natural-language-summaries" ], - "fileSize": "185.424KB", + "fileSize": "186.46KB", "readme": "https://github.com/sbalci/ClinicoPathJamoviModule/blob/master/README.md" } diff --git a/data/histopathologyanalysis.omv b/data/histopathologyanalysis.omv index 947e8da6..a01921e9 100644 Binary files a/data/histopathologyanalysis.omv and b/data/histopathologyanalysis.omv differ diff --git a/jamovi/0000.yaml b/jamovi/0000.yaml index 5dd4ef8f..d212df14 100644 --- a/jamovi/0000.yaml +++ b/jamovi/0000.yaml @@ -211,6 +211,6 @@ datasets: tags: - Classification usesNative: true -minApp: 1.3.0 +minApp: 1.2.19 ... diff --git a/jamovi/alluvial.a.yaml b/jamovi/alluvial.a.yaml index 4c1ac58d..8148119e 100644 --- a/jamovi/alluvial.a.yaml +++ b/jamovi/alluvial.a.yaml @@ -20,6 +20,18 @@ options: a string naming the variables from `data` that contains the values used for the Alluvial Diagram. + + + - name: condensationvar + title: Condensation Variable + type: Variable + description: + R: > + The primary variable to be used for condensation. + + + + - name: excl title: Exclude Missing (NA) type: Bool @@ -66,7 +78,7 @@ options: - title: Median name: median - title: Min-Max - name: min-max + name: min_max - title: Cuts name: cuts default: default diff --git a/jamovi/alluvial.r.yaml b/jamovi/alluvial.r.yaml index d356a88b..dd7e4dde 100644 --- a/jamovi/alluvial.r.yaml +++ b/jamovi/alluvial.r.yaml @@ -12,7 +12,10 @@ items: - vars - excl - marg - - inter + - verb + - fill + - bin + # - name: plothtml @@ -24,7 +27,16 @@ items: # - marg # - inter - + - title: '`Condensation Plot ${condensationvar}`' + name: plot2 + type: Image + width: 600 + height: 450 + renderFun: .plot2 + requiresData: true + clearWith: + - condensationvar + visible: (condensationvar) - title: Alluvial Diagrams @@ -38,7 +50,15 @@ items: - vars - excl - marg - - inter + - verb + - fill + - bin + + + + + + diff --git a/jamovi/alluvial.u.yaml b/jamovi/alluvial.u.yaml index 06aa1dbd..86ffd018 100644 --- a/jamovi/alluvial.u.yaml +++ b/jamovi/alluvial.u.yaml @@ -15,10 +15,61 @@ children: name: vars isTarget: true maxItemCount: 6 - - type: LayoutBox - margin: large + - type: CollapseBox + label: Options + stretchFactor: 1 + collapsed: true children: - - type: CheckBox - name: excl - - type: CheckBox - name: marg + - type: LayoutBox + margin: large + stretchFactor: 1 + children: + - type: LayoutBox + cell: + column: 0 + row: 0 + stretchFactor: 1 + children: + - type: Label + label: '' + fitToGrid: true + children: + - type: CheckBox + name: excl + - type: CheckBox + name: marg + - type: CheckBox + name: verb + - type: LayoutBox + cell: + column: 1 + row: 0 + stretchFactor: 1 + children: + - type: Label + label: '' + fitToGrid: true + cell: + column: 1 + row: 0 + children: + - type: ComboBox + name: fill + - type: ComboBox + name: bin + - type: CollapseBox + label: Condensation Variable + stretchFactor: 1 + collapsed: true + children: + - type: VariableSupplier + persistentItems: false + stretchFactor: 1 + children: + - type: TargetLayoutBox + label: Condensation Variable + children: + - type: VariablesListBox + name: condensationvar + maxItemCount: 1 + isTarget: true diff --git a/man/alluvial.Rd b/man/alluvial.Rd index bf96cc9d..07cea153 100644 --- a/man/alluvial.Rd +++ b/man/alluvial.Rd @@ -4,7 +4,16 @@ \alias{alluvial} \title{Alluvial Diagrams} \usage{ -alluvial(data, vars, excl = TRUE, marg = FALSE) +alluvial( + data, + vars, + condensationvar, + excl = TRUE, + marg = FALSE, + verb = FALSE, + fill = "first_variable", + bin = "default" +) } \arguments{ \item{data}{The data as a data frame.} @@ -12,15 +21,25 @@ alluvial(data, vars, excl = TRUE, marg = FALSE) \item{vars}{a string naming the variables from \code{data} that contains the values used for the Alluvial Diagram.} +\item{condensationvar}{The primary variable to be used for condensation.} + \item{excl}{.} \item{marg}{.} + +\item{verb}{.} + +\item{fill}{A list for the argument fill for selecting the variable to be +represented by color. Default is 'first_variable'.} + +\item{bin}{labels for the bins from low to high} } \value{ A results object containing: \tabular{llllll}{ \code{results$todo} \tab \tab \tab \tab \tab a html \cr \code{results$plot} \tab \tab \tab \tab \tab an image \cr +\code{results$plot2} \tab \tab \tab \tab \tab an image \cr } } \description{ diff --git a/man/alluvialClass.Rd b/man/alluvialClass.Rd new file mode 100644 index 00000000..2634cbf1 --- /dev/null +++ b/man/alluvialClass.Rd @@ -0,0 +1,73 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/alluvial.b.R +\name{alluvialClass} +\alias{alluvialClass} +\title{Alluvial Plot} +\value{ +Alluvial Plot +} +\description{ +Alluvial Plot + +Alluvial Plot +} +\section{Super classes}{ +\code{\link[jmvcore:Analysis]{jmvcore::Analysis}} -> \code{\link[ClinicoPath:alluvialBase]{ClinicoPath::alluvialBase}} -> \code{alluvialClass} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-clone}{\code{alluvialClass$clone()}} +} +} +\if{html}{ +\out{
Inherited methods} +\itemize{ +\item \out{}\href{../../jmvcore/html/Analysis.html#method-.createImage}{\code{jmvcore::Analysis$.createImage()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-.createImages}{\code{jmvcore::Analysis$.createImages()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-.createPlotObject}{\code{jmvcore::Analysis$.createPlotObject()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-.load}{\code{jmvcore::Analysis$.load()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-.render}{\code{jmvcore::Analysis$.render()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-.save}{\code{jmvcore::Analysis$.save()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-.savePart}{\code{jmvcore::Analysis$.savePart()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-.setCheckpoint}{\code{jmvcore::Analysis$.setCheckpoint()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-.setParent}{\code{jmvcore::Analysis$.setParent()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-.setReadDatasetHeaderSource}{\code{jmvcore::Analysis$.setReadDatasetHeaderSource()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-.setReadDatasetSource}{\code{jmvcore::Analysis$.setReadDatasetSource()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-.setResourcesPathSource}{\code{jmvcore::Analysis$.setResourcesPathSource()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-.setStatePathSource}{\code{jmvcore::Analysis$.setStatePathSource()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-addAddon}{\code{jmvcore::Analysis$addAddon()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-asProtoBuf}{\code{jmvcore::Analysis$asProtoBuf()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-asSource}{\code{jmvcore::Analysis$asSource()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-check}{\code{jmvcore::Analysis$check()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-init}{\code{jmvcore::Analysis$init()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-optionsChangedHandler}{\code{jmvcore::Analysis$optionsChangedHandler()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-postInit}{\code{jmvcore::Analysis$postInit()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-print}{\code{jmvcore::Analysis$print()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-readDataset}{\code{jmvcore::Analysis$readDataset()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-run}{\code{jmvcore::Analysis$run()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-serialize}{\code{jmvcore::Analysis$serialize()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-setError}{\code{jmvcore::Analysis$setError()}}\out{} +\item \out{}\href{../../jmvcore/html/Analysis.html#method-setStatus}{\code{jmvcore::Analysis$setStatus()}}\out{} +\item \out{}\href{../../ClinicoPath/html/alluvialBase.html#method-initialize}{\code{ClinicoPath::alluvialBase$initialize()}}\out{} +} +\out{
} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{alluvialClass$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/man/figures/jamovi-ClinicoPath-easyalluvial.gif b/man/figures/jamovi-ClinicoPath-easyalluvial.gif new file mode 100644 index 00000000..19e97287 Binary files /dev/null and b/man/figures/jamovi-ClinicoPath-easyalluvial.gif differ diff --git a/man/reportcatClass.Rd b/man/reportcatClass.Rd index 6d83ef67..3ca935fa 100644 --- a/man/reportcatClass.Rd +++ b/man/reportcatClass.Rd @@ -3,6 +3,9 @@ \name{reportcatClass} \alias{reportcatClass} \title{Summary of Categorical Variables} +\value{ +Text +} \description{ Summary of Categorical Variables diff --git a/tododata/todo.Rmd b/tododata/todo.Rmd index 414d5899..18aadd8c 100644 --- a/tododata/todo.Rmd +++ b/tododata/todo.Rmd @@ -2665,10 +2665,15 @@ mydata <- jmvcore::select(df = mydata, columnNames = c(var1, var2)) mydata <- jmvcore::naOmit(mydata) +plot <- easyalluvial::alluvial_wide( data = mydata , max_variables = 5 - , fill_by = 'first_variable' ) + , fill_by = 'first_variable' + , verbose = TRUE + ) +plot %>% + easyalluvial::add_marginal_histograms(mydata)