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

在Quarto Shiny文档中实现代码块间的数据共享

在Quarto Shiny文档中共享data-chunk对象到server-chunk的解决方案

问题核心是Quarto Shiny中不同代码块的运行环境隔离:默认无context的代码块运行在文档渲染环境,而带context: server的代码块运行在Shiny服务器端环境,两个环境不共享对象,因此server-chunk找不到faithful2。

解决方法

给定义数据的代码块添加context: setup或context: server标识,让数据对象创建在Shiny服务器环境中,server-chunk即可访问。

修改后的代码示例

---
title: "Untitled"
format: html
server: shiny
---
#| context: setup
faithful2 <- faithful
sliderInput("bins", "Number of bins:", 
            min = 1, max = 50, value = 30)
plotOutput("distPlot")
#| context: server
output$distPlot <- renderPlot({
   x <- faithful2[, 2]  # Old Faithful Geyser data
   bins <- seq(min(x), max(x), length.out = input$bins + 1)
   hist(x, breaks = bins, col = 'darkgray', border = 'white',
        xlab = 'Waiting time to next eruption (in mins)',
        main = 'Histogram of waiting times')
})

补充说明

  • context: setup:在Shiny服务器启动前执行,适合初始化数据、加载依赖等前置操作
  • context: server:直接在Shiny服务器环境中执行,和server-chunk共享同一环境,也能实现对象共享

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 21:30:52