14 Shiny
Point and click any point:
knitr::include_app("https://jkylearmstrong.shinyapps.io/Shiny/", height = "600px")After the yaml which looks like this:

There are four main components this app: setup , ui, server, & runapp
14.1 setup code chuck
knitr::opts_chunk$set(echo = TRUE)
library('tidyverse')
A_DATA_TBL_2.t_ks_result.furrr <- readRDS(paste0(getwd(), '/DATA/A_DATA_week_4_cont_EDA.RDS')) %>%
  select(Feature, mean_diff_est , ttest.pvalue, kstest.pvalue, N_Target, mean_Target, sd_Target, N_Control, mean_Control, sd_Control)
A_DATA_2 <- readRDS(paste0(getwd(),'/DATA/A_DATA.RDS'))
features <- colnames(A_DATA_2)[!colnames(A_DATA_2) %in% c('SEQN', 'DIABETES','AGE_AT_DIAG_DM2')]
numeric_cols <- A_DATA_2 %>%
  select_if(is.numeric) %>%
  colnames()
numeric_features <- intersect(features, numeric_cols)
source(paste0(getwd(),"/FUNCTIONS/wrapper_t_ks_test.R"))We then have a pair a ui chunk and server chunk:
14.2 ui code chunk:
ui <- fluidPage(
  
  sidebarLayout(
    
    #  input
    sidebarPanel(
      plotOutput("plot1", click = "plot_click")
    ),
    
    # Show a plot of the generated distribution
    mainPanel(
      tableOutput("info"), 
      plotOutput("plot2")
    )
  )
  
)
14.3 sever code chunk:
server <- function(input, output) {
  output$plot1 <- renderPlot({
    A_DATA_TBL_2.t_ks_result.furrr %>%
      ggplot(aes(x=round(ttest.pvalue,4) , y= round(kstest.pvalue,4), color = Feature)) +
      geom_point() + 
      theme(legend.position='none')
  })
  
  output$info <- renderTable({
    nearPoints(A_DATA_TBL_2.t_ks_result.furrr, 
               input$plot_click,
               xvar = "ttest.pvalue", 
               yvar = "kstest.pvalue") %>%
      as.data.frame()
  })
  
  output$plot2 <- renderPlot({
    my_feature <- (nearPoints(A_DATA_TBL_2.t_ks_result.furrr, 
                              input$plot_click,
                              xvar = "ttest.pvalue", 
                              yvar = "kstest.pvalue"))$Feature
    
    A_DATA_2 %>%
      filter(!is.na(DIABETES))%>%
      mutate(DIABETES_factor = as.factor(DIABETES)) %>%
      ggplot(aes_string(x = my_feature , fill='DIABETES_factor')) + 
      geom_density()
  })
}