I am very new to Shiny web app with R. I want to generate summary according to choice from checkboxGroupInput which i generated dynamically when browsing the CSV file. My problem is that when i want to convert from String to numeric that time it prints NA. I am uploading my two files which are ui.r and server.r. I am trying since two days. If anyone help me then it will be very beneficial for me.
If i did anything wrong in my code then please suggest me right way.
ui.r
library(shiny)
library(shinythemes)
shinyUI(fluidPage(
  theme = shinytheme("cyborg"),
  themeSelector(),
 # Application title
  titlePanel("Data Analytics and Visualization Dashboard"),
  sidebarLayout(
  sidebarPanel(
  fileInput('datafile', 'Choose CSV file',accept=c('text/csv', 'text/comma- 
  separated-values,text/plain')),
  h5("Max file size to upload is 5 MB."),
  radioButtons("sep", "Seperator", choices = c(Comma = ',', semicolon = ';', 
  tab = "\t", space = " " )),
  #checkboxInput("header", "Header?")
  br(),
   h4("Select columns from CSV"),
  uiOutput("toCol"),
  br(),
  h4("Summary"),
  textOutput("sum")
  # tableOutput("disp")
  ),
mainPanel(
  numericInput("obs", "Enter the number of rows to display:", 5),
  tableOutput("input_file"),
  plotOutput("p")
 )
 )
 ))
server.r
library(shiny)
shinyServer(function(input, output,session) {
#This function is repsonsible for reading a csv file
output$input_file <- renderTable({
file_to_read = input$datafile
if(is.null(file_to_read))
{
  return()
}
read.csv(file_to_read$datapath, sep = input$sep, nrows = input$obs))
 })
 #This function is repsonsible for loading in the selected file
 filedata <- reactive({
    infile <- input$datafile
    if (is.null(infile)) {
    # User has not uploaded a file yet
      return(NULL)
  }
  read.csv(infile$datapath,nrows = input$obs)
   })
  #The following set of functions populate the column selectors
  output$toCol <- renderUI({
    df <-filedata()
     if (is.null(df)) return(NULL)
       items=names(df)
       names(items)=items
       checkboxGroupInput("to", "Columns",items)
   })
   observe({
      # db <- gsub(",","",input$to)
       #  print(db)
       # paste( intToUtf8(160), input$to, intToUtf8(160))
      # print(summary(as.numeric(as.character(  paste( " ", input$to, " 
       #"))))) })
     print(summary(as.numeric( input$to) ))})
     # output$sum <- renderPrint({
    #   summary(input$data.frame[,as.numeric(input$var)])
    #  })
       # output$disp <- renderTable({
      #    input$to
       # })
   # output$summary1 <- renderPrint({
    #    sum <- as.numeric(as.character(input$to))
   # summary(sum)
   #})
     })
 
     
    