Shiny: вычисление стандартного отклонения из загруженного файла Excel - PullRequest
0 голосов
/ 05 марта 2020

Я пытаюсь рассчитать стандартное отклонение файла Excel, загруженного в мое приложение Shiny. Я, кажется, не в состоянии сделать это. Когда я ставлю sd (output $ contents) или sd (file1), это имеет тенденцию создавать sh приложение. Вот что у меня есть

Для справки: загружаемые данные - это одномерные временные ряды. Я был бы очень признателен, если бы кто-нибудь смог мне помочь - я думаю, что это проблема новичка! возможно я просто просматриваю файл и не использую его?

РЕДАКТИРОВАТЬ: файл Excel всегда содержит один столбец чисел, но заголовок и заголовок могут измениться. Поэтому я хотел бы сослаться на столбец A в изменяющихся файлах Excel.

  ui <- fluidPage(
    setBackgroundColor("ghostwhite"),
    titlePanel(h1("title", style = "color:navy")),
    p("subtitle"),

    headerPanel(h3("Input data here", style = "color:navy")),

    # Sidebar panel 
    sidebarLayout(
    sidebarPanel( position =c("left"),
        sliderInput("SL",
                    "ServiceScore",
                    min = 1.28, max = 3.09, value = 2.28),

        numericInput("LT", "LT: weeks",0, min=0, max = 30),
        fileInput('file1', 'MS, choose xlsx file',
                  accept = c(".xlsx")
        ),

     br(),            
     actionButton("action_Calc", label = "Refresh & Calculate"), ),

    # Main panel
    mainPanel(h3( textOutput("SL"), 
               textOutput("LT"),
               textOutput("SS"),

               tableOutput('contents')
              ))))

     server <- function(input, output) {

    output$SL <- renderText({ 
        paste("Your score", input$SL)})
    output$LT <- renderText ({ 
        paste( "Your LT is", input$LT)})
    output$contents <- renderTable({

        req(input$file1)

        inFile <- input$file1

        read_excel(inFile$datapath, 1)
    })

    values<- reactiveValues()
    observe({
        input$action_Calc
        values$int<- isolate({
        input$SL*sqrt(input$LT/4)*sd(**HERE IS WHERE I NEED THE SD of the EXCEL FILE**)
        })})
     output$SS <- renderText({paste("calculation is", values$int)})


      }
     shinyApp(ui, server)

1 Ответ

1 голос
/ 05 марта 2020

Считайте файл Excel в реактивном проводнике:

Data <- reactive({
  req(input$file1)
  inFile <- input$file1
  read_excel(inFile$datapath, 1)
})

output$contents <- renderTable({
  Data()
})

Теперь, если вы хотите стандартное отклонение первого столбца:

values<- reactiveValues()
observe({
  input$action_Calc
  values$int <- isolate({
    input$SL*sqrt(input$LT/4)*sd(Data()[[1]])
  })
})
output$SS <- renderText({paste("calculation is", values$int)})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...