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

Shiny App部署至shinyapps.io时/data目录.rda数据加载失败求助

问题:Shiny App部署到shinyapps.io后无法加载/data目录的.rda数据

部署后日志报错:

Error : object 'mydata' not found
The application failed to start. Exit status 1

本地以包形式开发时可正常加载/data目录的.rda文件,但部署后出现上述错误。数据通过/data-raw目录预处理后,用以下代码保存到/data目录:

mydata = data.frame(
  label = c("NT","NT")
  , ess = c("02","04")
  , tot = c(580, 20)
)

usethis::use_data(mydata, overwrite = T)  # saves mydata.rda in /data

项目文件结构包含app.R,/R目录下有ui.R、server.R、global.R,代码如下:

ui.R

library(shiny)

ui <- function(request) {   tagList(
    shiny::textOutput("test")   ) }

server.R

library(shiny)
library(dplyr)
library(magrittr)
library(tidyr)

# Define server logic required to draw a histogram
server <- function(input, output) {

  output$test <- shiny::renderText({
    print(mydata)  # test to know if mydata is found

    df_filter = mydata %>%
      dplyr::filter(ess == "02")

    df_filter$label[1]  # output renderText
  })
}

global.R

utils::globalVariables(names = c("ess","label","tot"))  # to be able to call the columns of mydata in dplyr functions. Not even sure this is useful

app.R

library(shiny)

myApp <- function() {
  shinyApp(ui, server)
}

myApp()
解决思路与方法

核心原因

本地包开发环境中,devtools::load_all()会自动将/data目录下的.rda文件加载到全局环境,但shinyapps.io部署时是直接执行app.R,不会触发包的自动加载流程,因此mydata对象不存在。

具体解决方案

1. 显式加载数据文件

在global.R中添加代码,手动加载/data目录下的.rda文件,确保mydata在全局环境中可用:

utils::globalVariables(names = c("ess","label","tot"))
# 显式加载数据
load(file.path("data", "mydata.rda"))

部署时shinyapps.io的工作目录是项目根目录,file.path("data", "mydata.rda")能正确指向数据文件。

2. 确认部署时/data目录被包含

部署时确保/data目录及其中的mydata.rda文件被上传到shinyapps.io:

  • 使用RStudio部署时,在部署窗口的「Files to deploy」中勾选/data目录;
  • 若用命令行部署,指定include参数:
rsconnect::deployApp(include = c("app.R", "R/", "data/"))

3. 验证数据加载路径(可选)

如果仍有问题,可在global.R中添加路径验证代码,排查路径是否正确:

# 打印当前工作目录
print(getwd())
# 检查data目录是否存在
print(dir.exists("data"))
# 检查文件是否存在
print(file.exists(file.path("data", "mydata.rda")))

部署后查看日志输出,确认路径和文件存在性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 19:34:55