问题标签 [golem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
209 浏览

r - 错误:找不到以“^Package”开头的根“DESCRIPTION”文件

我正在用 golem 开发一个闪亮的应用程序。在我的电脑上一切正常,但后来我在 github 上加载了包并安装在另一台电脑上。该应用程序有两个主要部分:第一部分您可以处理原始数据并将输出保存为.rds文件,第二部分您可以分析详细数据(您也可以上传.rds已处理的文件)。问题出在第一部分,当我必须读取多个文件时。它给了我这个错误:

我可以复制出现问题的服务器部分:

data_path()没关系,因为它有正确的路径。问题是当我eventReactive()用按钮触发时input$readdatabttn

你知道那个错误是什么吗?我有描述文件并且正在运行devtools::check()我没有错误,只是一个警告:

0 投票
1 回答
126 浏览

r - 闪亮:更改为另一个选项卡,使当前变灰

我正在尝试使用 golem 制作一个闪亮的应用程序,但我对此很陌生,并尝试做一些我认为简单的事情,但事实证明并非如此。

在我的app_ui.R文件中,我有一个这样的选项卡结构:

我想要的只是gating选项卡处于活动状态,而该选项卡saving被禁用。

然后,在选项卡的side一部分中,gating我想要一个显示 的按钮FINISHED,所以当我单击它时,saving选项卡会出现并且该选项卡gating会被禁用。

为此,我在我的mod_gating_side.R文件中尝试了以下内容,但它不起作用......

任何线索如何做到这一点?完成我需要的最佳方法是什么?它不需要是选项卡,只要有一个页面处于活动状态和一个页面处于禁用状态,以及一个切换到第二页并禁用第一页的 FINISH 按钮即可。那可能吗?谢谢!

0 投票
2 回答
57 浏览

r - 在 {golem} 包中导入动态数据集

我目前有一个 data_prep.R 文件,用于使用 SQL 查询提取数据,然后将数据整理到合适的数据帧中,以便在我的 {golem} 包中使用。在这个脚本的结尾我有

usethis::usedata(df, overwrite = T)

从研究看来,这个文件应该进入 /data-raw 文件夹,因为你不应该在 /R 文件夹中执行代码。运行时,它会构建我的数据框,然后将它们放在 /data 文件夹中。但是,每当我运行应用程序时,这个脚本似乎都不会运行,而且,数据框将保持不变,直到我再次手动运行 data_prep.R 脚本。

我的应用程序依赖于传入的新数据,因此我需要这个 data_prep.R 文件在应用程序启动时运行。

有什么我想念的吗?

0 投票
0 回答
44 浏览

r - 将 exiftool 添加到使用 golem 构建的闪亮应用程序包中;收到错误消息“警告:系统错误:找不到‘exiftool’”

我正在使用 golem 构建一个闪亮的应用程序,我需要使用 exiftool 重命名照片。usethis::use_package('exifr')在我的02_dev.R脚本中使用后 ,exifr::read_exif()工作正常,但是当应用程序点击我的系统调用以使用 exiftool ( system('exiftool ...')) 时,它给出了错误“ Warning: Error in system: 'exiftool' not found。” 我的计算机上安装了 exiftool 和草莓 PERL(草莓在 C: 驱动器中),我尝试将 exiftool 复制到我的inst/app/www/文件夹中,但仍然收到相同的消息。

编辑:这是触发错误的完整命令:system("exiftool -r -d %Y%m%d_%H%M%S \"-filename<SWWLF2021/${userlabel;s/ //g}/",vals$pcode,"_${userlabel;s/ //g}_${DateTimeOriginal}_${triggermode;s/(.)(.*\\s)(.)(.*)/$1$3/}${sequence;s/(\\d)(.*)/_$1/}.%e\" " where userlabelDateTimeOriginaltriggermodesequence都是照片元数据的一部分。

我应该在我02_dev.R的 或golem_add_external_resources()app_ui 脚本中使用呼叫吗?

0 投票
1 回答
158 浏览

r - R Shiny Golem Dockerfile 不可构建 - 没有名为“remotes”的包

我正在为 Shiny App 开发一个 R 包并使用 Docker 将其容器化,并且我使用 Golem 的add_dockerfile()命令在下面创建了 Dockerfile。(为简洁起见,我删除了大部分依赖项。)不幸的是,它没有构建。请问有人可以帮忙吗?

Dockerfile

错误信息

当我尝试使用 构建它时docker build -t "test_image" .,我收到以下错误消息:

所以看起来在工作目录移动到 /build_zone 后找不到 remotes 包。谁能解释为什么会发生这种情况?我尝试了一种解决方法,并且设法构建了映像,但是当我尝试运行它时,它说我的包 ( exampleApp) 也找不到。我对 Docker 命令的理解不够好,无法知道发生了什么。

谢谢!

0 投票
2 回答
72 浏览

docker - 使用 Docker 进行 RShiny 部署 - 由于找不到应用程序包而导致执行停止?

我对 RShiny、Golem 和 Docker 比较陌生。但是,我已经使用 Golem 框架构建了一个小型分析仪表板,我想使用 Docker 在本地部署它。

我已经能够成功构建映像,但似乎无法让容器正常运行。当我这样做时,容器初始化然后停止并出现以下错误:

如果有任何帮助,我用来运行的命令如下:

我也在与 Rshiny 应用程序相关的项目文件夹中工作(不知道这是否有帮助)。

细节是它使用 renv 和 golem 框架,以及 CRAN 和本地包的混合。下面是我目前正在使用的 dockerfile,其中大部分是使用golem::add_dockerfile(). 我修改的唯一行如下:

RUN R -e 'install.packages("renv/local/LocalPackage1_0.1.0.tar.gz", repos= NULL, type = "source")'

RUN R -e 'install.packages("renv/local/ShinyPlatform_0.0.0.9000.tar.gz", repos = NULL, type = "source")'

上面的第一个是为了解决由于 LocalPackage1 被放置在另一个文件夹中而找不到的错误。第二行更像是我尝试的尝试,看看我是否可以做同样的事情来解决当前的错误,到目前为止还没有这样的运气,所以我很确定这是错误的。

这是整个 docker 文件:

想知道是否有人对为什么我的容器停止并且似乎无法在其中找到闪亮的应用程序有任何想法?

如前所述,我对 RShiny、Golem 和 Docker 都很陌生,所以如果我遗漏了任何关键信息,请告诉我,我可以更新这篇文章。

0 投票
1 回答
38 浏览

r - golem app中使用observeEvent渲染表格

我是 golem 包的新手,太新了,以至于我正在为基本的闪亮操作而苦苦挣扎。此时,我无法根据操作按钮触发的 observeEvent 呈现表格。当提供指向谷歌学者页面的链接时,该模块应该抓取任何研究人员的共同作者。当我单击按钮时没有任何反应。你能帮我弄清楚我做错了什么吗?

0 投票
1 回答
42 浏览

r - 从 golem 模块到另一个模块的传单映射的引用

我正在构建一个闪亮的应用程序,使用 Golem 作为框架。在我的应用程序中,我制作了几个模块,所有模块都通过传单地图链接。但是,除了创建地图的模块之外,我无法从另一个模块更新地图。

我已经尝试考虑到这里提出的建议,将map_idand包含parent_session到模块调用中,但是每当我尝试对地图进行任何更改时,应用程序仍然会崩溃(没有错误跟踪)。

这是我的代码的精简版本,在单独的文件中:

app_server.R

app_ui.R

mod_basemap.R

mod_itinerary.R

0 投票
1 回答
55 浏览

shiny - 创建一个带“提交”按钮返回多个输出的闪亮输入模块

我想构建一个具有“输入模块”的应用程序,该模块将根据用户输入准备数据。一个简单的例子是让用户输入要保存在 mtcars 中的最小和最大 MPG。在这种情况下,“输入模块”将返回三个值:过滤后的 mtcars 数据集、最小 MPG 和最大 MPG。

多个输出模块将使用输入模块的输出。假设第一个模块生成 table1,它只是过滤数据的 DT::datatable。我们还想在表格标题中打印最小和最大 MPG。

这是我设法开始工作的内容:
a)输入模块具有“提交”按钮,但在此处返回单个值(过滤后的 mtcars 数据) 代码
b)输入模块没有“提交”按钮并返回值列表(过滤后的 mtcars 数据,最小 mpg 和最大 mpg)。 代码在这里

我没有设法开始工作的是:
c)输入模块有一个“提交”按钮并返回一个值列表。代码在这里

该代码出现以下错误:

我认为当 Table1Output 模块尝试获取 data$df 并且我还没有单击“提交”按钮时,它是 NULL。不知道如何解决这个问题。

编辑:这些看起来很有趣: 在 R Shiny 中跨多个模块使用 reactiveValues

https://github.com/ardata-fr/Shiny-Modules-Tutorials

0 投票
1 回答
28 浏览

r - 您如何根据闪亮中的选定 tabItem() 进行不同的服务器执行?

背景 我正在使用 {brochure} 和 {golem} 来构建一个闪亮的应用程序。我有一个grid由内部模块组成的外部模块,subGrid2它们在两个选项卡上显示相同的模块 UI。

目标

  • 有一个subGrid2可用于在多个选项卡上重复图形可视化的模块。
  • 在 REPREX --> 由 {shinipsum} 生成的假图表显示在“主页”选项卡 +“投资组合”选项卡上
  • 用于observeEvent查看选定的选项卡并相应地生成服务器响应

问题

反应式observeEvent表达式。无法识别何时选择了相应的选项卡以生成正确的服务器响应。

-使用下面的reprex复制了我的问题-

TL/DR

  1. 为什么observeEvent反应式不会根据所选选项卡生成正确的服务器响应?

代表

取消注释observeEvent以查看错误