Skip to content

Commit

Permalink
added ggvenn package function to add venn plot
Browse files Browse the repository at this point in the history
  • Loading branch information
sbalci committed Feb 9, 2021
1 parent 4975bad commit 5b7dde4
Show file tree
Hide file tree
Showing 11 changed files with 560 additions and 9 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ vignettes/*.pdf
# R Environment Variables
.Renviron
.Rprofile

ClinicoPath.Rproj
build
.Rbuildignore
*.jmo
.Rprofile
.DS_Store
7 changes: 4 additions & 3 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
Type: Package
Package: ClinicoPathDescriptives
Title: Descriptives Functions for Clinicopathological Research
Version: 0.0.2.0041
Date: 2020-08-31
Version: 0.0.2.0060
Date: 2021-02-07
Authors@R:
person(given = "Serdar",
family = "Balci",
Expand Down Expand Up @@ -46,7 +46,8 @@ Imports:
Remotes:
spgarbet/tangram,
mayoverse/arsenal,
carloscinelli/benford.analysis
carloscinelli/benford.analysis,
yanlinlin82/ggvenn
Encoding: UTF-8
LazyData: true
Roxygen: list(markdown = TRUE)
Expand Down
9 changes: 8 additions & 1 deletion R/00jmv.R
Original file line number Diff line number Diff line change
Expand Up @@ -429,4 +429,11 @@
`year`=2020,
`title`="bbplot: MAKING GGPLOT GRAPHICS IN BBC NEWS STYLE",
`publisher`="[R package]. Retrieved from https://github.com/bbc/bbplot",
`url`="https://github.com/bbc/bbplot"))
`url`="https://github.com/bbc/bbplot"),
`venn`=list(
`type`="software",
`author`="Linlin Yan",
`year`=2020,
`title`=" Venn Diagram by ggplot2, with really easy-to-use API",
`publisher`="[R package]. Retrieved from https://github.com/yanlinlin82/ggvenn",
`url`="https://github.com/yanlinlin82/ggvenn"))
4 changes: 4 additions & 0 deletions R/summarydata.b.R
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,10 @@ summarydataClass <- if (requireNamespace("jmvcore")) R6::R6Class("summarydataCla

self$results$text$setContent(results)

# ?ave



}


Expand Down
142 changes: 142 additions & 0 deletions R/venn.b.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
#' @title Venn Diagram
#'
#'
#'
#'
#' @importFrom R6 R6Class
#' @import jmvcore
#' @import ggvenn


vennClass <- if (requireNamespace('jmvcore'))
R6::R6Class(
"vennClass",
inherit = vennBase,
private = list(
.run = function() {
# Error Message ----


if (is.null(self$options$var1)) {
# ToDo Message ----
todo <- "
<br>Welcome to ClinicoPath
<br><br>
This tool will help you form Venn Diagrams.
<hr><br>
"

html <- self$results$todo
html$setContent(todo)

} else {
todo <- ""
html <- self$results$todo
html$setContent(todo)



if (nrow(self$data) == 0)
stop("Data contains no (complete) rows")


# Read data ----

mydata <- self$data

var1 <- self$options$var1
var1true <- self$options$var1true

var2 <- self$options$var2
var2true <- self$options$var2true

var3 <- self$options$var3
var3true <- self$options$var3true

var4 <- self$options$var4
var4true <- self$options$var4true

# mydata <- jmvcore::select(df = mydata,
# columnNames = c(var1, var2, var3, var4))

mydata <- jmvcore::naOmit(mydata)


if (!is.null(self$options$var1)) {
mydata[[var1]] <-
ifelse(test = mydata[[var1]] == var1true, TRUE, FALSE)
}

if (!is.null(self$options$var2)) {
mydata[[var2]] <-
ifelse(test = mydata[[var2]] == var2true, TRUE, FALSE)
}

if (!is.null(self$options$var3)) {
mydata[[var3]] <-
ifelse(test = mydata[[var3]] == var3true, TRUE, FALSE)
}

if (!is.null(self$options$var4)) {
mydata[[var4]] <-
ifelse(test = mydata[[var4]] == var4true, TRUE, FALSE)
}

myoutput1 <- list(
"mydata" = head(mydata),
"names" = names(mydata)
)


self$results$output1$setContent(myoutput1)


plotData <- list("mydata" = mydata,
"names" = names(mydata)
)

image <- self$results$plot
image$setState(plotData)


}

}

,

.plot = function(image, ggtheme, theme, ...) {
# the plot function ----


#Errors ----

if (is.null(self$options$var1))
return()

if (nrow(self$data) == 0)
stop('Data contains no (complete) rows')


# Prepare Data ----

results <- image$state

mydata2 <- results$mydata

namescolumn2 <- results$names

# Venn Diagram by ggplot2, with really easy-to-use API.
# https://github.com/yanlinlin82/ggvenn

plot <-
ggvenn::ggvenn(data = mydata2,
columns = namescolumn2)


# Print Plot ----
print(plot)
TRUE
}
)
)
Loading

0 comments on commit 5b7dde4

Please sign in to comment.