library(shiny)
library(shinydashboard)
library(agricolae)
library(rhandsontable)
library(iskay)
library(dplyr)
library(exactRankTests)
library(broom)
library(clinfun)
library(purrr)
library(htmlwidgets)
library(htmltools)
library(radarchart)
library(plotly)
library(V8)
library(shinyjs)
library(stringr)
data("skills")
ui <- dashboardPage(
skin = "yellow",
dashboardHeader(title = "HIDAP", titleWidth = "250px",
# Twitter Sharing Link
tags$li(
class = "dropdown",
tags$a(
#href = "http://twitter.com/share?url=https://foocheung.shinyapps.io/soma_stats/&text=Web Tool For Navigating and Plotting ADAT files",
href = "http://www.quipo.org" ,
target = "_blank",
tags$img(height = "18px",
src = "quipo.png")
)
),
# Facebook Sharing link
tags$li(
class = "dropdown",
tags$a(
href = "https://www.facebook.com/quipo.org/",
target = "_blank",
tags$img(height = "18px",
src = "facebook.png")
)
),
# LinkedIn Sharing link
tags$li(
class = "dropdown",
tags$a(
href = "https://www.linkedin.com/company/quipo-org/",
target = "_blank",
tags$img(height = "18px",
src = "linkedin.png")
)
)
#tags$script(HTML("$('body').addClass('sidebar-mini');"))
),#end Header
dashboardSidebar(width = "250px",
br(),
#div(img(src="inst/app/www/quipoicon.png", width = "50px"), style="text-align: center;"),
sidebarMenu(
id = "tabs",
menuItem("Import Data", icon = icon("table"),
menuSubItem("Import data", tabName = "timportData", icon = icon("table"))
),
menuItem("Non-Parametric Test", icon = icon("th-list"),
# menuItem("One Sample",
# menuSubItem("Wilcoxon", tabName = "twilcoxon1Tab", icon = icon("table"))
# #menuSubItem("Clone list", tabName = "generateList", icon = icon("list")),
# #menuSubItem("Family list", tabName = "createList", icon = icon("list-alt")) ,
# #menuSubItem("Parental list", tabName = "parentList", icon = icon("list-alt")),
# #menuSubItem("Distribution Data", tabName = "distributionDB", icon = icon("database"))
# ),
menuItem("Two Sample",
menuSubItem("Man-Whitney", tabName = "tmanwithneyTab", icon = icon("file")),
menuSubItem("Wilcoxon", tabName = "twilcoxon2Tab", icon = icon("table"))
#menuSubItem("Open fieldbook", tabName = "openFieldbook", icon = icon("file-o")),
#menuSubItem("Check fieldbook", tabName = "checkFieldbook", icon = icon("eraser")),
#menuSubItem("Data transformation", tabName = "singleAnalysisTrans", icon = icon("file-text-o"))
),
menuItem("One sample k-measures",
menuSubItem("Durbin Test", tabName = "tdurbinTab", icon = icon("file")),
menuSubItem("Friedman Test", tabName = "tfriedmanTab", icon = icon("file-o"))#,
#menuSubItem("Kendall Test", tabName = "tkendallTab", icon = icon("file-text-o"))
#menuSubItem("Check fieldbook", tabName = "checkFieldbook", icon = icon("eraser")),
#menuSubItem("", tabName = "", icon = icon("file-text-o"))
),
menuItem("Independent K-samples",
menuSubItem("Kruskall-Waliis Test", tabName = "tkruskalTab", icon = icon("file")),
menuSubItem("Median Test", tabName = "tmedTab", icon = icon("file-o")),
menuSubItem("Jonckheere-T Test", tabName = "tjonckTab", icon = icon("file-o"))
#menuSubItem("Check fieldbook", tabName = "checkFieldbook", icon = icon("eraser")),
)
),
# menuItem("Categorical Analysis", icon=icon("th-list"),
#
#
# #menuItem("Correlation",
# menuSubItem("Contingency Table", tabName = "contingencyTab", icon = icon("file")),
# menuSubItem("Correlation", tabName = "correlationTab", icon = icon("file"))
#
# #menuSubItem("Open fieldbook", tabName = "openFieldbook", icon = icon("file-o")),
# #menuSubItem("Check fieldbook", tabName = "checkFieldbook", icon = icon("eraser")),
# #menuSubItem("Data transformation", tabName = "singleAnalysisTrans", icon = icon("file-text-o"))
# #)
#
#
# ),
menuItem("GraphLab", icon=icon("th-list"),
menuItem("Visualization tools",
menuSubItem("Radar plot", tabName = "tradargrTab", icon = icon("file")),
menuSubItem("Scatter plot", tabName = "tscatterTab", icon = icon("file-o"))
#menuSubItem("Check fieldbook", tabName = "checkFieldbook", icon = icon("eraser")),
#menuSubItem("Data transformation", tabName = "singleAnalysisTrans", icon = icon("file-text-o"))
)
)
)
),
dashboardBody(
#
# tags$head(
# tags$link(rel = "stylesheet", type = "text/css", href = "bootstrap.min.css")
# ),
#includeCSS("www/custom.css"),
shinyjs::useShinyjs(),
shinyjs::extendShinyjs(text = "shinyjs.refresh = function() { location.reload(); }"),
tabItems(
shinydashboard::tabItem(tabName = "timportData",
includeCSS("www/custom.css"),
tabItem(
tabName = "adat",
column(
12,
offset = 5,
img(src = 'quipo.png', align = "center")
),
column(
12,
offset = 3,
h1("Iskay: NonParametric Data Analysis App", style = "font-family: 'Source Sans Pro';")
),
br(),
br(),
br(),
br(),
# Upload ADAT UI
fluidRow( #begin fluidrow for box Import data
column(width = 12, offset = 1,
box(title = "Upload your excel file", status = "success",
solidHeader = TRUE, collapsible = FALSE,width = 10,
shiny::fileInput(inputId = "uin_fb_import",label = "Import file",
accept = ".xlsx"),
shiny::uiOutput("ou_sheets"),
actionButton("show_dlgImport", "Help", icon("question-circle"),
style = "color: #fff; background-color: #337ab7;
border-color: #2e6da4"),
br(),
br(),
rHandsontableOutput("ou_fbImport", height = 400)
),
br(),
br()
)
),#end fluidrow for box Import data
br(),
br()
)
) ,
#tab for Wilcoxon Two sample test -------------------------------------------------------------
shinydashboard::tabItem(tabName = "twilcoxon2Tab",
#h2("wilcoxon Test"),
fluidRow( #begin fluid row
column(width = 3,
box(#begin inputs box wilcoxon
title = "Wilcoxon Test", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = 12,
uiOutput("ou_Xwilcox2"),
uiOutput("ou_Ywilcox2"),
shiny::selectInput(inputId = "sel_input_wilcox2Hyp", label = "Hypothesis",
choices = list(`Two-sided` = "t", `Greater than`= "g", `Less than` = "l"),
selected = 1),
shiny::numericInput(inputId = "sel_input_wilcox2Mu", label = "Enter mean value",
value = 0),
checkboxGroupInput("cbTables_wilcox2", "Options",selected = 2,
choiceNames =
list("Global summary", "Hyp. testing values"),
choiceValues = list("gsum", "mulcom" )
),
actionButton("show_dlgWilcox2", "Help", icon("question-circle"),
style = "color: #fff; background-color: #337ab7; border-color: #2e6da4")
) #end box wilcoxon
),
column(width = 9,
conditionalPanel(
condition = "input.cbTables_wilcox2.includes('gsum')",
box(#begin inputs box wilcox2
title = "Descriptive statistics", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = 12,
#DT::dataTableOutput("ou_dtwilcox2")#,
div(DT::dataTableOutput("ou_dtwilcox2_gsum"))
)
), #end conditionalPanel for wilcox2
conditionalPanel(
condition = "input.cbTables_wilcox2.includes('mulcom')",
box(#begin inputs box wilcox2
title = "Hypothesis testing", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = 12,
DT::dataTableOutput("ou_dtwilcox2")#,
)#,
)
)
) #end fluidrow
), #end tab Wilcoxon Two-paired test
#---------------------------------------------------------------------------------------
#tab for Mann-Whitney test --------------------------------------------------------------
shinydashboard::tabItem(tabName = "tmanwithneyTab",
#h2("mann whitney Test"),
fluidRow( #begin fluid row
column(width = 3,
box(#begin inputs box friedman
title = "Mann-Whitney Test", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = NULL,
uiOutput("ou_Xmanw"),
uiOutput("ou_Ymanw"),
shiny::selectInput(inputId = "sel_input_manwHyp", label = "Hypothesis",
choices = list(`Two-sided` = "t", `Greater than`= "g", `Less than` = "l"),
selected = 1),
shiny::numericInput(inputId = "sel_input_manwMu", label = "Enter mean value",
value = 0),
checkboxGroupInput("cbTables_manw", "Options",
choiceNames =
list("Global summary", "Hyp. testing values"),
choiceValues = list("gsum", "mulcom"),
selected = c('gsum','mulcom')
),
actionButton("show_dlgManW", "Help", icon("question-circle"),
style = "color: #fff; background-color: #337ab7; border-color: #2e6da4")
) #end box friedman
),
column(width = 9,
conditionalPanel(
condition = "input.cbTables_manw.includes('gsum')",
box(#begin inputs box wilcox2
title = "Descriptive statistics", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = 12,
#DT::dataTableOutput("ou_dtwilcox2")#,
div(DT::dataTableOutput("ou_dtmanw_gsum"))
)
), #end conditionalPanel for mann-whitney
conditionalPanel(
condition = "input.cbTables_manw.includes('mulcom')",
box(#begin inputs box mann-whitney
title = "Hypothesis testing values", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = 12,
DT::dataTableOutput("ou_dtmanw")
)
)
)
) #end fluidrow
), #end tab Mann-Whitney test
#---------------------------------------------------------------------------------------
#tab for Friedman test ----------------------------------------------------------------
shinydashboard::tabItem(tabName = "tfriedmanTab",
#h2("Friedman Test"),
fluidRow( #begin fluid row
column(width = 3,
box(#begin inputs box friedman
title = "Friedman Test", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = NULL,height = 500,
uiOutput("ou_jugfrman"),
uiOutput("ou_trtfrman"),
uiOutput("ou_traitfrman"),
checkboxGroupInput("cbTables_frman", "Options",
choiceNames =
list("Global summary", "Multiple comparison",
"Paired comparison" ),
choiceValues =
list("gsum", "mulcom", "pcom"),
selected = c(1,2)
),
actionButton("show_dlgFriedman", "Help", icon("question-circle"),
style = "color: #fff; background-color: #337ab7; border-color: #2e6da4")
) #end box friedman
),
column(width = 9,
conditionalPanel(
condition = "input.cbTables_frman.includes('gsum')",
box(#begin inputs box friedman
title = "Descriptive statistics", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = 12,
div(DT::dataTableOutput("ou_dtfrman_gsum"))
)
), #end conditionalPanel for friedman
conditionalPanel(
condition = "input.cbTables_frman.includes('mulcom')",
box(#begin inputs box friedman
title = "Multiple comparison", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = 12,
DT::dataTableOutput("ou_dtfrman")
)
),
conditionalPanel(
condition = "input.cbTables_frman.includes('pcom')",
box(#begin inputs box friedman
title = "Paired comparison", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = 12,
DT::dataTableOutput("ou_dtfrman_pcom")
)
)
)
) #end fluidrow
), #end tab Friedman test
#---------------------------------------------------------------------------------------
#tab for Durbin test ----------------------------------------------------------------
shinydashboard::tabItem(tabName = "tdurbinTab",
#h2("Durbin Test"),
fluidRow( #begin fluid row
column(width = 3,
box(#begin inputs box durbin
title = "Durbin Test", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = 12,height = 500,
uiOutput("ou_jugdurbin"),
uiOutput("ou_trtdurbin"),
uiOutput("ou_traitdurbin"),
checkboxGroupInput("cbTables_durbin", "Options",
choiceNames =
list("Global summary", "Multiple comparison",
"Paired comparison" ),
choiceValues =
list("gsum", "mulcom", "pcom")
),
actionButton("show_dlgDurbin", "Help", icon("question-circle"),
style = "color: #fff; background-color: #337ab7; border-color: #2e6da4")
) #end box durbin
),
column(width = 9,
conditionalPanel(
condition = "input.cbTables_durbin.includes('gsum')",
box(#begin inputs box durbin
title = "Descriptive statistics", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = NULL,
div(DT::dataTableOutput("ou_dtdurbin_gsum"))
)
), #end conditionalPanel for durbin
conditionalPanel(
condition = "input.cbTables_durbin.includes('mulcom')",
box(#begin inputs box durbin
title = "Multiple comparison", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = NULL,
DT::dataTableOutput("ou_dtdurbin")
)
),
conditionalPanel(
condition = "input.cbTables_durbin.includes('pcom')",
box(#begin inputs box durbin
title = "Paired comparison", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = NULL,
DT::dataTableOutput("ou_dtdurbin_pcom")
)
)
)
) #end fluidrow
), #end tab Durbin test
#---------------------------------------------------------------------------------------
#tab for Kruskal test -------------------------------------------------------------
shinydashboard::tabItem(tabName = "tkruskalTab",
#h2("Kruskall Test"),
fluidRow( #begin fluid row
column(width = 3,
box(#begin inputs box kruskal
title = "Kruskall-Wallis Test", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = NULL,height = 500,
uiOutput("ou_trtkru"),
uiOutput("ou_traitkru"),
checkboxGroupInput("cbTables_kru", "Options",
choiceNames =
list("Global summary", "Multiple comparison",
"Paired comparison" ),
choiceValues =
list("gsum", "mulcom", "pcom")
),
br(),
br(),
actionButton("show_dlgkruskal", "Help", icon("question-circle"),
style = "color: #fff; background-color: #337ab7; border-color: #2e6da4")
) #end box kruskal
),
column(width = 9,
# conditionalPanel(
# condition = "input.cbTables_kru.includes('gsum')",
# box(#begin inputs box kruskal wallis
# title = "Descriptive statistics", status = "primary", solidHeader = TRUE,
# collapsible = TRUE, width = 12,
#
# div(DT::dataTableOutput("ou_dtkru_gsum"))
# )
# ), #end conditionalPanel for kruskal
conditionalPanel(
condition = "input.cbTables_kru.includes('mulcom')",
box(#begin inputs box kruskal
title = "Multiple comparison", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = 12,
DT::dataTableOutput("ou_dtkru")
)
),
conditionalPanel(
condition = "input.cbTables_kru.includes('pcom')",
box(#begin inputs box friedman
title = "Paired comparison", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = 12,
DT::dataTableOutput("ou_dtkru_pcom")
)
)
)
) #end fluidrow
), #end tab Kruskal wallis test
#---------------------------------------------------------------------------------------
#tab for Median test -----------------------------------
shinydashboard::tabItem(tabName = "tmedTab",
#h2("med"),
fluidRow( #begin fluid row
column(width = 3,
box(#begin inputs box med
title = "Median Test", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = NULL, height = 500,
uiOutput("ou_trtmed"),
uiOutput("ou_traitmed"),
shiny::selectInput(inputId = "sel_input_medHyp", label = "Hypothesis",
choices = list(`Two-sided` = "two.sided",
`Increase than`= "increasing",
`Decrease than` = "decreasing"),
selected = 1),
checkboxGroupInput("cbTables_med", "Options",
choiceNames =
list("Global summary", "Multiple comparison",
"Paired comparison" ),
choiceValues =
list("gsum", "mulcom", "pcom")
),
actionButton("show_dlgmed", "Help", icon("question-circle"),
style = "color: #fff; background-color: #337ab7; border-color: #2e6da4")
) #end box med
),
column(width = 9,
conditionalPanel(
condition = "input.cbTables_med.includes('gsum')",
box(#begin inputs box median
title = "Descriptive statistics", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = 12,
div(DT::dataTableOutput("ou_dtmed_gsum"))
)
), #end conditionalPanel for median
conditionalPanel(
condition = "input.cbTables_med.includes('mulcom')",
box(#begin inputs box med
title = "Multiple comparison", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = 12,
DT::dataTableOutput("ou_dtmed")
)
),
conditionalPanel(
condition = "input.cbTables_med.includes('pcom')",
box(#begin inputs box friedman
title = "Paired comparison", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = 12,
DT::dataTableOutput("ou_dtmed_pcom")
)
)
)
) #end fluidrow
), #end tab med test
#---------------------------------------------------------------------------------------
#tab for Jonckherre-Tepstra test -----------------------------------
shinydashboard::tabItem(tabName = "tjonckTab",
#h2("JT Test"),
fluidRow( #begin fluid row
column(width = 3,
box(#begin inputs box kruskal
title = "Jonckheere-Tepstra Test", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = NULL,height = 500,
uiOutput("ou_trtjonck"),
uiOutput("ou_traitjonck"),
shiny::selectInput(inputId = "sel_input_jonckHyp", label = "Hypothesis",
choices = list(`Two-sided` = "two.sided",
`Increase than`= "increasing",
`Decrease than` = "decreasing"),
selected = 1),
checkboxGroupInput("cbTables_jonck", "Options",
choiceNames =
list("Global summary", "Hyp. testing values"),
choiceValues =
list("gsum", "mulcom")
),
actionButton("show_dlgjonck", "Help", icon("question-circle"),
style = "color: #fff; background-color: #337ab7; border-color: #2e6da4")
) #end box jonck
),
column(width = 9,
conditionalPanel(
condition = "input.cbTables_jonck.includes('gsum')",
box(#begin inputs box jonck
title = "Descriptive statistics", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = 12,
#DT::dataTableOutput("ou_dtwilcox2")#,
div(DT::dataTableOutput("ou_dtjonck_gsum"))
)
), #end conditionalPanel for jonck
conditionalPanel(
condition = "input.cbTables_jonck.includes('mulcom')",
box(#begin inputs box jonck
title = "Hypothesis testing values", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = 12,
DT::dataTableOutput("ou_dtjonck")
)
)
)
) #end fluidrow
), #end tab jonck test
#--------------------------------------------------------------------------------------------
#tab for graphics: radar plot -------------------------------------------------------------
shinydashboard::tabItem(tabName = "tradargrTab",
#h2("wilcoxon Test"),
fluidRow( #begin fluid row
column(width = 3,
box(#begin inputs box wilcoxon
title = "Radar plot", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = 12, height = 500,
uiOutput("ou_trtRadar"),
#uiOutput("ou_lvlRadar"),
uiOutput("ou_traitRadar"),
actionButton("go", "Plot!")
) #end box wilcoxon
),
column(width = 9,
#conditionalPanel(
# condition = "input.cbTables_wilcox2.includes('gsum')",
box(#begin inputs box wilcox2
title = "Radar Chart", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = 12,
DT::dataTableOutput("ou_dtradar"),
br(),
br(),
chartJSRadarOutput("ui_radar", width = "450", height = "300")
)
#)#, #end conditionalPanel for wilcox2
# conditionalPanel(
# condition = "input.cbTables_wilcox2.includes('mulcom')",
#
#
# box(#begin inputs box wilcox2
# title = "Hypothesis testing", status = "primary", solidHeader = TRUE,
# collapsible = TRUE, width = 12,
#
# DT::dataTableOutput("ou_dtwilcox2")#,
#
# )#,
# )
)
) #end fluidrow
), #end tab
#---------------------------------------------------------------------------------------
#tab for graphics: radar plot -------------------------------------------------------------
shinydashboard::tabItem(tabName = "tscatterTab",
#h2("wilcoxon Test"),
fluidRow( #begin fluid row
column(width = 3,
box(#begin inputs box wilcoxon
title = "Variables", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = 12, height = 500,
#uiOutput("ou_trtScatter"),
#uiOutput("ou_lvlRadar"),
uiOutput("ou_XtraitScatter"),
uiOutput("ou_YtraitScatter"),
uiOutput("ou_colorScatter")
#actionButton("go", "Plot!")
) #end box wilcoxon
),
column(width = 9,
#conditionalPanel(
# condition = "input.cbTables_wilcox2.includes('gsum')",
box(#begin inputs box wilcox2
title = "Scatter plot", status = "primary", solidHeader = TRUE,
collapsible = TRUE, width = 12,
plotlyOutput('trendPlot', height = "900px")
)
#)#, #end conditionalPanel for wilcox2
# conditionalPanel(
# condition = "input.cbTables_wilcox2.includes('mulcom')",
#
#
# box(#begin inputs box wilcox2
# title = "Hypothesis testing", status = "primary", solidHeader = TRUE,
# collapsible = TRUE, width = 12,
#
# DT::dataTableOutput("ou_dtwilcox2")#,
#
# )#,
# )
)
) #end fluidrow
) #end tab
#---------------------------------------------------------------------------------------
),
br(),
br(),
br()
)
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.