嵌入Shiny的RMarkdown发布至shinyapps.io路径识别失败求助
解决Shiny嵌入RMarkdown发布至shinyapps.io的路径问题
问题核心
你使用了Windows本地绝对路径C:/Users/xiriu/Documents/R/WorkD/shiny/in_qks,但shinyapps.io是Linux服务器,既不存在这个C盘路径,也无法访问你本地的文件结构,因此报错找不到对应Shiny应用。
解决方案
1. 改用相对路径
将shinyAppDir的路径替换为相对路径,路径基于你的RMarkdown文件所在的默认目录WorkD:
shinyAppDir("shiny/in_qks", options = list(width = "100%", height = 700))
注意路径使用正斜杠/,不要用Windows系统的反斜杠\,Linux服务器不识别反斜杠格式的路径。
2. 发布时勾选所有依赖文件
在RStudio点击发布到shinyapps.io时,弹出的文件选择窗口中,务必勾选shiny/in_qks目录下的所有文件(包括app.R、数据文件等),否则服务器仅会上传RMarkdown文件,找不到Shiny应用的代码和数据资源。
3. 备选方案:内嵌Shiny app代码(更稳妥)
如果路径问题仍未解决,可以直接将app.R中的代码复制到RMarkdown文档内,用shinyApp()替代shinyAppDir(),示例代码如下:
shinyApp( ui = fluidPage( # 粘贴你的Shiny UI代码 ), server = function(input, output) { # 粘贴你的Shiny Server代码 }, options = list(width = "100%", height = 700) )
这种方式无需依赖外部文件路径,发布时只需确保数据文件与RMarkdown文档一同上传即可。
内容的提问来源于stack exchange,提问作者pixel9
相关产品推荐
相关产品推荐

