Гистограмма Shiny R - PullRequest
       21

Гистограмма Shiny R

0 голосов
/ 02 октября 2018

Я использую приведенный ниже код для наклонения Shiny R, когда я запускаю этот код, он выдает мне эту ошибку:

Предупреждение: Ошибка в hist.default: 'x' должно быть числовым [Неттрассировка стека доступна]

library(shiny)

ui <- fluidPage(
  selectInput("Ind","Indipendent Variable",choices = names(mtcars)),
  selectInput('Dep','  Dependent Variable',choices = names(mtcars)),
  plotOutput("BoxPlot"),
  plotOutput('Hist'))

server <- function(input, output, session) {

  data1 <- reactive({input$Ind})
  data2 <- reactive({input$Dep})

  output$BoxPlot <- renderPlot({boxplot(get(data2()) ~ get(data1()) , data=mtcars)})

  output$Hist <- renderPlot({hist(get(data1())}) 

}

shinyApp(ui, server)

любая помощь, почему это так сказать?

1 Ответ

0 голосов
/ 02 октября 2018

Старайтесь не помещать все в одну строку, поскольку это не улучшает читабельность, вы можете использовать Руководство по стилю Google R , если хотите. Чтобы ответить на ваши вопросы, вы можете получить доступ к переменной с помощью [[]], например, так:

library(shiny)

ui <- fluidPage(
  selectInput("Ind","Indipendent Variable",choices = names(mtcars)),
  selectInput('Dep','  Dependent Variable',choices = names(mtcars)),
  plotOutput("BoxPlot"),
  plotOutput('Hist')
)
server <- function(input, output, session) {

  data1 <- reactive({
    input$Ind
  })
  data2 <- reactive({
    input$Dep
  })

  output$BoxPlot <- renderPlot({
    boxplot(get(data2()) ~ get(data1()) , data=mtcars)
  })

  output$Hist <- renderPlot({
    req(data1())
    hist(mtcars[[data1()]])
  }) 

}

shinyApp(ui, server)

enter image description here

...