You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R Shiny仅执行UI代码、Server未运行及参数报错修复咨询

解决Shiny应用selectInput报错问题

你遇到的报错核心原因是参数名拼写错误:Shiny的selectInput和sliderInput函数里,指定输入ID的参数是inputId(大写I+小写d),但你代码里写成了inputID(两个大写字母),这会导致R在解析UI代码时就抛出"unused argument"错误,自然没法继续执行后面的server部分。

另外还有两个小问题需要一并修正:

  • 响应式数据对象filteredData是函数,在ggplot里调用时要加括号:filteredData()
  • ggplot不支持main参数,要换成ggtitle()来设置图表标题

以下是修正后的完整代码:

library(shiny)
library(ggplot2)

ui <- fluidPage( # ui控制页面布局
  sidebarLayout(
    sidebarPanel(
      h2("Carbon Dioxide Uptake in Grass Plants"),
      selectInput(inputId = "treatment", label = "Treatment: ", 
                  choices = c("nonchilled", "chilled"), selected = "nonchilled"
      ),
      sliderInput(inputId = "slider", label = "Concentration limit:",
                  min = 0, max = max(CO2$conc), value = 500, step = 100)
    ),
    
    mainPanel(
      plotOutput("scatterplot"), 
    )
  )
)

server <- function(input, output){ # server定义应用运行逻辑
  filteredData <- reactive({
    subset(CO2, Treatment == input$treatment)
  })
  
  output$scatterplot <- renderPlot({
    ggplot(filteredData(), aes(x = conc, y = uptake)) + 
      geom_point(alpha=0.5) +
      ggtitle("Scatter Plot") +
      xlim(0, input$slider) 
  })
}

shinyApp(ui = ui, server = server)

内容的提问来源于stack exchange,提问作者Lynny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 19:07:51