将 csv 文件上传到 shinyApps.io

Posted

技术标签:

【中文标题】将 csv 文件上传到 shinyApps.io【英文标题】:Uploading csv file to shinyApps.io 【发布时间】:2014-12-06 14:43:07 【问题描述】:

我的应用程序在本地运行良好,我能够成功地将我的应用程序部署到 shinyapps.io 服务器,但是当我尝试使用 shinyapps URL 在浏览器中加载应用程序时收到以下错误消息:“错误对象”数据'未找到。我认为这是因为“数据”变量从我本地目录上的 csv 文件中读取。有没有办法可以将此 csv 文件上传到 shinyapps 服务器?我已经尝试查找此内容,但我什么也没找到。

这是我用来读取文件的代码。我从与 server.R 和 ui.R 相同的工作目录中获取文件。谢谢

服务器.R

   library(shiny)
   college = read.csv("college.csv")

ui.R(我添加到这里看看它是否解决了问题,但它没有)

   library(shiny)
   college = read.csv("college.csv")

【问题讨论】:

您确定您的 csv 文件位于 app 目录中吗?我的意思是在上传应用之前。 是的,它在 app 文件夹中。我真的很困惑为什么它不上传到服务器。 我在加载 csv 文件时没有问题。你能把你的代码贴在你加载 csv 文件的地方吗? 可能是您在定义 csv 路径的方式上做错了吗? 我已经继续并添加了代码以显示我在 csv 文件中的读取方式。它与我的闪亮文件在同一个目录中,但由于某种原因它没有上传到闪亮应用服务器。 【参考方案1】:

最佳做法是将您的数据放在一个文件夹中,例如~/<application name>/data,然后从您的server.R 调用您的数据,将您的应用程序目录 (/<application name>/) 视为当前工作目录。

例如我将我的文件保存为 ~/ImputationApp/data/ 中的 RDS 对象,然后将它们读入:

foo.rds <- readRDS("data/foo.rds")

即使您所描述的应该运行,请仔细检查您的文件路径以查找您尝试加载的数据文件以及任何可能会破坏工作的杂散setwd() 命令。一个常见的错误是将机器上数据的完全限定路径放在server.R 中。

【讨论】:

@Kamal 这解决了你的问题还是你还有问题?【参考方案2】:

目前我面临着类似的麻烦。 在这里和那里阅读,我意识到您可以在与ui.Rserver.R 相同的目录中创建一个名为global.R 的脚本。 在此文件 (global.R) 上,您可以加载库,在这种情况下,可以加载以前保存在目录中的对象,例如,称为数据。 我创建了对象并用saveRDS(df, "./data/df.RDS") 保存了它。然后用类似的东西从数据目录加载它

df <- readRDS("data/df.RDS")

在全球.R 这对我有用。

【讨论】:

【参考方案3】:

我知道为时已晚,但我相信在您的目录中创建一个名为 www 的文件夹并将 csv 放在那里应该可以解决问题。

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于将 csv 文件上传到 shinyApps.io的主要内容,如果未能解决你的问题,请参考以下文章

无法将应用程序部署到 shinyapps.io:无法确定包源

从 Shiny 发送附件

将 Azure SQL 数据库连接到 shinyapps.io

无法在 shinyapps.io 中部署闪亮的应用程序

检索托管在 shinyapps.io 中的应用程序的原始代码

shinyapps.io 服务器上的 data.table 错误,但不是本地错误