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

如何将sliderInput的范围值传入params$maxprice变量?

解决R Markdown参数化滑块范围值传递问题

你的问题核心是滑块的范围值被当作单个值处理:当滑块设置value: [25,50]时,params$maxprice是一个长度为2的向量,但直接在filter或scale_y_continuous中使用时,R会默认取向量的第一个元素,导致第二个值被忽略,同时y轴无法匹配滑块的起始值。

解决步骤

  1. 提取滑块的两个范围值:用params$maxprice[1]获取滑块的下限值,params$maxprice[2]获取上限值。
  2. 调整数据过滤逻辑:把price < params$maxprice改成price >= params$maxprice[1] & price <= params$maxprice[2],筛选出价格在滑块范围内的数据。
  3. 修正y轴范围:把scale_y_continuous(limits=c(0, params$maxprice))改成scale_y_continuous(limits = params$maxprice),直接用滑块的两个值作为y轴的起止范围。

修改后的完整代码

---
title: "Wine"
date: "`r format(Sys.Date())`"
output: html_document
params:
  glimpse: FALSE
  country:
    label: "Country"
    value: [US]
    input: select
    choices: [US, France, Italy, Argentina]
    multiple: TRUE
  variety: 
    label: "Variety"
    value: ["Cabernet Sauvignon", "Chardonnay"]
    choices: ["Cabernet Sauvignon", "Chardonnay", "Merlot", "Sauvignon Blanc", "Malbec"]
    multiple: TRUE
  maxprice:
    label: "Max Price"
    input: slider
    min: 0
    max: 1000
    value: [25,50]
    step: 1
---
library('here')
library('tidyverse')
   
knitr::opts_chunk$set(echo = FALSE, warning=FALSE, fig.width = 4, fig.height = 4, fig.path=here('Output'))

wine_ratings <- readr::read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2019/2019-05-28/winemag-data-130k-v2.csv")

## Subset to varieties of interest
wine_ratings <- wine_ratings %>% 
  filter(variety %in% params$variety,
         country %in% params$country,
         !is.na(price),
         # 筛选价格在滑块范围内的数据
         price >= params$maxprice[1] & price <= params$maxprice[2])
ggplot(wine_ratings, aes(x=points, y=price)) +
  geom_boxplot() +
  facet_wrap(~ variety) +
  # 直接用滑块的两个值作为y轴范围
  scale_y_continuous(limits = params$maxprice) +
  ggtitle("Wine Price")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 14:36:14