簡體   English   中英

條形圖錯誤與Shiny R

[英]Bar plot error with Shiny R

我無法使用閃亮的應用程序解決該錯誤以創建條形圖。顯示的錯誤是未傳遞任何參數。代碼如下。

Ui.R

shinyUI(fluidPage(
  titlePanel("An Overview of my skillsets"),

  sidebarLayout(
    sidebarPanel(                  
                   selectInput("dataset", "Select Company", 
                               choices = c("Accenture", "Auroch", "Quintiles", "Others")),

                   numericInput("obs", "Number of observations to view:", 10) ),
    mainPanel(plotOutput(""))
  )
))

Server.R

library(shiny)

shinyServer(function(input, output) {

  TechSkills <- c( "X", "Y", "Z", "A", "B", "C")

  TS_ACC <-c(25,26,22,12,22,27)
  TS_AUR <- c(8,6,7,5,4,7)
  TS_QUIN <- c(12,12,14,24,17,27)
  ACCENTURE=data.frame(TechSkills, TS_ACC)
  AUROCH=data.frame(TechSkills, TS_AUR)
  QUINTILES=data.frame(TechSkills, TS_QUIN)

  datasetInput <- reactive({
    switch(input$dataset,
           "Accenture" = ACCENTURE,
           "Auroch" = AUROCH,
           "Quintiles" = QUINTILES,
            "Others" =OTHERS)
  })
  output$dataset <- renderPlot({
    barplot(data=dataset)
  })
 })

此代碼中可能有幾處錯誤:

  1. plotOutput(“”)應該具有outputId,即“數據集”
  2. barplot不接受參數數據,應提供“ height”和“ arg.names”

因此,代碼應如下所示:

ui.R

shinyUI(fluidPage(
  titlePanel("An Overview of my skillsets"),

  sidebarLayout(
    sidebarPanel(                  
               selectInput("dataset", "Select Company", 
                           choices = c("Accenture", "Auroch", "Quintiles", "Others")),

               numericInput("obs", "Number of observations to view:", 10) ),
mainPanel(plotOutput('dataset'))
  )
))

server.R

library(shiny)

TechSkills <- c( "X", "Y", "Z", "A", "B", "C")

TS_ACC <-c(25,26,22,12,22,27)
TS_AUR <- c(8,6,7,5,4,7)
TS_QUIN <- c(12,12,14,24,17,27)
ACCENTURE=data.frame(TechSkills, TS_ACC)
AUROCH=data.frame(TechSkills, TS_AUR)
QUINTILES=data.frame(TechSkills, TS_QUIN)


shinyServer(function(input, output) {


  datasetInput <- reactive({
    switch(input$dataset,
           "Accenture" = ACCENTURE,
           "Auroch" = AUROCH,
           "Quintiles" = QUINTILES,
            "Others" =OTHERS)
  })
  output$dataset <- renderPlot({
    d <- datasetInput()
    barplot(height=d[,2],names.arg=d[,1])
  })
 })

一分鍾為時已晚,但是這里是鮮為人知的函數setNames的變體

  output$mybarplot <- renderPlot({
    d1 = datasetInput()
    barplot(setNames(d1[,2],d1[,1]))
  })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM