Statistics Primer"

knitr::opts_chunk$set(echo = TRUE)
library(psycho)
library(Hmisc)
library(corrgram)
library(dplyr)
library(rpivotTable)
library(psych)
library(datasets)
sidebarPanel(
inputPanel(

checkboxInput("P","Check if you want to use pre-loaded datasets",value = TRUE), selectInput("ds","Choose dataset you wish to explore",choices = c("iris","esoph","anscombe","cars","attitude","chickwts","Orange","ToothGrowth","BOD"))

),
inputPanel(


fileInput("file", "Upload the *.csv file with headers"),
checkboxInput("std","standardize",value = FALSE),
downloadButton("downloadStdData", "Download dataset")


),
inputPanel(

uiOutput("vx"),
uiOutput("vx2"),
uiOutput("vx3")

),
inputPanel(
            selectInput("col","Choose Color",choices = c("red","green","blue","yellow"))

           ),
inputPanel(

           downloadButton("downloadPlot2", "Download Histogram"),
           downloadButton("downloadPlot3", "Download Pie Chart"),
           downloadButton("downloadPlot4", "Download Box Plot"),
            downloadButton("downloadPlot5", "Download Association Plot"),
           downloadButton("downloadPlot", "Download Correlation Plot"),
           downloadButton("downloadCorMat", "Download Correlation Matrix"),
           downloadButton("downloadReport", "Download Descriptives Report"),
            downloadButton("downloadReport2", "Download Summary Report")

           )

)
mainPanel(
  tabsetPanel(type = "tab",
              tabPanel("Descriptives", verbatimTextOutput("AD")),
               tabPanel("Histogram",plotOutput("HG")),
              tabPanel("Pie Chart",plotOutput("PC")),
              tabPanel("Box Plot",plotOutput("BP")),
              tabPanel("Association Plot",plotOutput("AP")),
              tabPanel("Correlation Plot",plotOutput("CP")),
              tabPanel("Correlation Summary",verbatimTextOutput("SUM")),
              tabPanel("Interactive Dashboard",rpivotTableOutput("PT"))

),width = 8
)
output$AD<-renderPrint({

     if(input$P == FALSE)
     {   
     file1 = input$file
     if(is.null(file1)){return()}

     data =  read.table(file =  file1$datapath,sep =",",header = TRUE)
     if(is.null(data())){return()}
     }

     if(input$P == TRUE){
       cat(sprintf("\nThis is about  dataset  :  %s\n", input$ds))
       data( input$ds)
       data = get(input$ds)
       }

     cat(sprintf("\nSnapshot of the dataset\n"))
     if(input$std == TRUE) {data = data.frame(standardize(data))}

     print(head(data,6))

     cat(sprintf("\nSummary of the dataset\n\n"))
     print(summary(data))

      df = select_if(data,is.numeric)
     cat(sprintf("\n\n Detailed descriptive statistics of  Quantitative Variables are as follows\n\n"))
     print(describe(df))
     })
output$CP<-renderPlot({


      if(input$P == FALSE)
     {   
     file1 = input$file
     if(is.null(file1)){return()}

     data =  read.table(file =  file1$datapath,sep =",",header = TRUE)
     if(is.null(data())){return()}
     }

     if(input$P == TRUE){
       cat(sprintf("\nThis is about  dataset  :  %s\n", input$ds))
       data( input$ds)
       data = get(input$ds)
       }


     if(input$std == TRUE) {data = data.frame(standardize(data))}

     corrgram(data,order = TRUE,lower.panel = panel.shade,upper.panel = panel.pie,main ="Corrgram")
     })
output$SUM<-renderPrint({


     if(input$P == FALSE)
     {   
     file1 = input$file
     if(is.null(file1)){return()}

     data =  read.table(file =  file1$datapath,sep =",",header = TRUE)
     if(is.null(data())){return()}
     }

     if(input$P == TRUE){
       cat(sprintf("\nThis is about  dataset  :  %s\n", input$ds))
       data( input$ds)
       data = get(input$ds)
       }
     if(input$std == TRUE) {data = data.frame(standardize(data))}
     df = select_if(data,is.numeric)



     cat(sprintf("\n Correlation Summary of the dataset\n"))

     cor = rcorr(as.matrix(df))$r

     print(cor)
     })

datasetInput1 <- reactive({
   if(input$P == FALSE)
     {   
     file1 = input$file
     if(is.null(file1)){return()}

     data =  read.table(file =  file1$datapath,sep =",",header = TRUE)
     if(is.null(data())){return()}
     }

     if(input$P == TRUE){

       data( input$ds)
       data = get(input$ds)
       }

      if(input$std == TRUE) {data_set = data.frame(standardize(data))}
      else {data_set = data}

  })

output$downloadStdData <- downloadHandler(
    filename = function() {
      filetitle = paste("dataset")
      paste(filetitle, ".csv", sep = "")
    },
    content = function(file) {

      write.csv(datasetInput1(), file, row.names = FALSE)
    }
  )
output$downloadPlot<- downloadHandler(
    filename = function() {
      paste("Correlationplot", ".png", sep = "")
    },
    content = function(file) {
      png(file)
         if(input$P == FALSE)
     {   
     file1 = input$file
     if(is.null(file1)){return()}

     data =  read.table(file =  file1$datapath,sep =",",header = TRUE)
     if(is.null(data())){return()}
     }

     if(input$P == TRUE){
       cat(sprintf("\nThis is about  dataset  :  %s\n", input$ds))
       data( input$ds)
       data = get(input$ds)
       }


     if(input$std == TRUE) {data = data.frame(standardize(data))}

     corrgram(data,order = TRUE,lower.panel = panel.shade,upper.panel = panel.pie,main ="Corrgram")

      dev.off()
    })
datasetInput2 <- reactive({
    if(input$P == FALSE)
     {   
     file1 = input$file
     if(is.null(file1)){return()}

     data =  read.table(file =  file1$datapath,sep =",",header = TRUE)
     if(is.null(data())){return()}
     }

     if(input$P == TRUE){

       data( input$ds)
       data = get(input$ds)
       }

     if(input$std == TRUE) {data = data.frame(standardize(data))}




     df = select_if(data,is.numeric)
    data = data.frame(rcorr(as.matrix(df))$r)




  })
output$downloadCorMat <- downloadHandler(
    filename = function() {
      filetitle = paste("dataset")
      paste(filetitle, ".csv", sep = "")
    },
    content = function(file) {

      write.csv(datasetInput2(), file)
    }
  )

output$PT<-renderRpivotTable({


     if(input$P == FALSE)
     {   
     file1 = input$file
     if(is.null(file1)){return()}

     data =  read.table(file =  file1$datapath,sep =",",header = TRUE)
     if(is.null(data())){return()}
     }

     if(input$P == TRUE){

       data( input$ds)
       data = get(input$ds)
       }


     if(input$std == TRUE) {data = data.frame(standardize(data))}


     rpivotTable(data)


     })

output$vx <- renderUI({

 if(input$P == FALSE)
     {   
     file1 = input$file
     if(is.null(file1)){return()}

     data =  read.table(file =  file1$datapath,sep =",",header = TRUE)
     if(is.null(data())){return()}
     }

     if(input$P == TRUE){

       data( input$ds)
       data = get(input$ds)
       }


     if(input$std == TRUE) {data = data.frame(standardize(data))}


      df = select_if(data,is.numeric)

     selectInput("variablex","Select the Quantitative variable for histogram",choices = colnames(df),selected = "" )


  })

output$HG<-renderPlot({


 if(input$P == FALSE)
     {   
     file1 = input$file
     if(is.null(file1)){return()}

     data =  read.table(file =  file1$datapath,sep =",",header = TRUE)
     if(is.null(data())){return()}
     }

     if(input$P == TRUE){

       data( input$ds)
       data = get(input$ds)
       }


     if(input$std == TRUE) {data = data.frame(standardize(data))}

      df = select_if(data,is.numeric)

      attach(df)

      hist(get(input$variablex),col = input$col,main = "Histogram",xlab = input$variablex)
     })
output$downloadPlot2<- downloadHandler(
    filename = function() {
      paste("Histogram", ".png", sep = "")
    },
    content = function(file) {
      png(file)
   if(input$P == FALSE)
     {   
     file1 = input$file
     if(is.null(file1)){return()}

     data =  read.table(file =  file1$datapath,sep =",",header = TRUE)
     if(is.null(data())){return()}
     }

     if(input$P == TRUE){

       data( input$ds)
       data = get(input$ds)
       }



     if(input$std == TRUE) {data = data.frame(standardize(data))}

      df = select_if(data,is.numeric)

      attach(df)

      hist(get(input$variablex),col = input$col,main = "Histogram",xlab = input$variablex)

      dev.off()
    })



output$vx2 <- renderUI({

 if(input$P == FALSE)
     {   
     file1 = input$file
     if(is.null(file1)){return()}

     data =  read.table(file =  file1$datapath,sep =",",header = TRUE)
     if(is.null(data())){return()}
     }

     if(input$P == TRUE){

       data( input$ds)
       data = get(input$ds)
       }

     if(input$std == TRUE) {data = data.frame(standardize(data))}

      df = select_if(data,is.factor)

     selectInput("variablex2","Select the Qualitative variable for PieChart",choices = colnames(df),selected = "" )


  })
output$vx3 <- renderUI({

 if(input$P == FALSE)
     {   
     file1 = input$file
     if(is.null(file1)){return()}

     data =  read.table(file =  file1$datapath,sep =",",header = TRUE)
     if(is.null(data())){return()}
     }

     if(input$P == TRUE){

       data( input$ds)
       data = get(input$ds)
       }

     if(input$std == TRUE) {data = data.frame(standardize(data))}

      df = select_if(data,is.factor)

     selectInput("variablex3","Select the Second Qualitative variable",choices = colnames(df),selected = "" )


  })
output$PC<-renderPlot({


     if(input$P == FALSE)
     {   
     file1 = input$file
     if(is.null(file1)){return()}

     data =  read.table(file =  file1$datapath,sep =",",header = TRUE)
     if(is.null(data())){return()}
     }

     if(input$P == TRUE){

       data( input$ds)
       data = get(input$ds)
       }



     if(input$std == TRUE) {data = data.frame(standardize(data))}

      df = select_if(data,is.factor)

      attach(df)
      x = get(input$variablex2)
     frequency = table(x)
     lbls = paste(names(frequency), "\n", sep="")
     pct = round(frequency/sum(frequency)*100)
     lbls = paste(lbls, pct) # add percents to labels
     lbls = paste(lbls,"%",sep="") # ad % to labels
     pie(frequency,labels = lbls, col=rainbow(length(frequency)),main = input$variablex2)


     })

output$downloadPlot3<- downloadHandler(
    filename = function() {
      paste("Pie", ".png", sep = "")
    },
    content = function(file) {
      png(file)
    if(input$P == FALSE)
     {   
     file1 = input$file
     if(is.null(file1)){return()}

     data =  read.table(file =  file1$datapath,sep =",",header = TRUE)
     if(is.null(data())){return()}
     }

     if(input$P == TRUE){

       data( input$ds)
       data = get(input$ds)
       }



     if(input$std == TRUE) {data = data.frame(standardize(data))}

       df = select_if(data,is.factor)

      attach(df)
      x = get(input$variablex2)
     frequency = table(x)
     lbls = paste(names(frequency), "\n", sep="")
     pct = round(frequency/sum(frequency)*100)
     lbls = paste(lbls, pct) # add percents to labels
     lbls = paste(lbls,"%",sep="") # ad % to labels
     pie(frequency,labels = lbls, col=rainbow(length(frequency)),main = input$variablex2)

      dev.off()
    })
output$BP<-renderPlot({


      if(input$P == FALSE)
     {   
     file1 = input$file
     if(is.null(file1)){return()}

     data =  read.table(file =  file1$datapath,sep =",",header = TRUE)
     if(is.null(data())){return()}
     }

     if(input$P == TRUE){

       data( input$ds)
       data = get(input$ds)
       }



     if(input$std == TRUE) {data = data.frame(standardize(data))}

      df = data

      attach(df)

      boxplot(get(input$variablex) ~ get(input$variablex2),col = input$col,main = "Box Plot",xlab = input$variablex2,ylab = input$variablex)
     })

output$downloadPlot4<- downloadHandler(
    filename = function() {
      paste("BoxPlot", ".png", sep = "")
    },
    content = function(file) {
      png(file)
    if(input$P == FALSE)
     {   
     file1 = input$file
     if(is.null(file1)){return()}

     data =  read.table(file =  file1$datapath,sep =",",header = TRUE)
     if(is.null(data())){return()}
     }

     if(input$P == TRUE){

       data( input$ds)
       data = get(input$ds)
       }



     if(input$std == TRUE) {data = data.frame(standardize(data))}

       df = data

      attach(df)
      boxplot(get(input$variablex) ~ get(input$variablex2),col = input$col,main = "Box Plot",xlab = input$variablex2,ylab = input$variablex)
      dev.off()
    })

output$AP<-renderPlot({


      if(input$P == FALSE)
     {   
     file1 = input$file
     if(is.null(file1)){return()}

     data =  read.table(file =  file1$datapath,sep =",",header = TRUE)
     if(is.null(data())){return()}
     }

     if(input$P == TRUE){

       data( input$ds)
       data = get(input$ds)
       }



     if(input$std == TRUE) {data = data.frame(standardize(data))}

      df = select_if(data,is.factor)

      attach(df)
      x = get(input$variablex2)
      y = get(input$variablex3)
     frequency = table(x,y)
     assocplot(frequency,col =c("green","red"),xlab = input$variablex2,ylab = input$variablex3,main = "Association Plot")


     })
output$downloadPlot5<- downloadHandler(
    filename = function() {
      paste("AssociationPlot", ".png", sep = "")
    },
    content = function(file) {
      png(file)
    if(input$P == FALSE)
     {   
     file1 = input$file
     if(is.null(file1)){return()}

     data =  read.table(file =  file1$datapath,sep =",",header = TRUE)
     if(is.null(data())){return()}
     }

     if(input$P == TRUE){

       data( input$ds)
       data = get(input$ds)
       }



     if(input$std == TRUE) {data = data.frame(standardize(data))}

       df = data

      attach(df)
       x = get(input$variablex2)
      y = get(input$variablex3)
     frequency = table(x,y)
     assocplot(frequency,col =c("green","red"),xlab = input$variablex2,ylab = input$variablex3,main = "Association Plot")

      dev.off()
    })
h6("", tags$img(src ="K.JPG", height= 400, width=400))



datasetInput3 <- reactive({


    if(input$P == FALSE)
     {   
     file1 = input$file
     if(is.null(file1)){return()}

     data =  read.table(file =  file1$datapath,sep =",",header = TRUE)
     if(is.null(data())){return()}
     }

     if(input$P == TRUE){

       data( input$ds)
       data = get(input$ds)
       }

     if(input$std == TRUE) {data = data.frame(standardize(data))}


     if(input$std == TRUE) {data = data.frame(standardize(data))}



      df = select_if(data,is.numeric)

     datareport = capture.output(print(describe(df)))








  })
output$downloadReport <- downloadHandler(
    filename = function() {
      filetitle = paste("Descriptive_report")
      paste(filetitle, ".doc", sep = "")
    },
    content = function(file) {



      write.file(datasetInput3(), file)
    }
  )

datasetInput4 <- reactive({


    if(input$P == FALSE)
     {   
     file1 = input$file
     if(is.null(file1)){return()}

     data =  read.table(file =  file1$datapath,sep =",",header = TRUE)
     if(is.null(data())){return()}
     }

     if(input$P == TRUE){

       data( input$ds)
       data = get(input$ds)
       }

     if(input$std == TRUE) {data = data.frame(standardize(data))}


     if(input$std == TRUE) {data = data.frame(standardize(data))}





     datareport = capture.output(print(summary(data)))








  })
output$downloadReport2 <- downloadHandler(
    filename = function() {
      filetitle = paste("Summary_report")
      paste(filetitle, ".doc", sep = "")
    },
    content = function(file) {



      write.file(datasetInput4(), file)
    }
  )


Try the STAT package in your browser

Any scripts or data that you put into this service are public.

STAT documentation built on May 2, 2019, 2:18 a.m.