我正在尝试为我的同事提供闪亮的应用程序,而无需他们运行甚至安装R.
所以我看了这个网页 ,发现这句话:
如果您熟悉Web托管或可以访问IT部门,则可以自己托管您的Shiny应用程序.
在" 共享为网页 "部分下.
我怎样才能做到这一点?
问题是我的公司必然会受到关于网络托管和安全等的某些限制,并且不会(现在)支付闪亮的服务器专业版.
但上面的句子让我希望自己设置一些东西来说服他们.
现在我几次读到反应式编程的闪亮的文档,但我不能正确理解之间的差异observeEvent
和eventReactive
.
文件说:
只要您想执行响应事件的操作,请使用observeEvent.(请注意,"重新计算值"通常不会被视为执行操作 - 请参阅eventReactive.)
....
使用eventReactive创建仅在响应事件时更新的计算值.这就像一个普通的反应式表达式,除了它忽略了来自其反应依赖的所有常见的失效;
在我试过的所有情况下,我发现使用observeEvent
和之间没有区别eventReactive
(无论我使用哪种功能,代码都能正常工作,对性能没有明显的影响).
你能帮我弄清楚两者之间的真正区别吗?理想情况下,我想举几个例子说明它们何时可以互换,哪一个observeEvent
可以工作但不能eventReactive
,反之亦然.
我从我的应用程序闪亮生成pdf报告时遇到问题,该报告托管在服务器上.
该应用程序工作正常,但当我按下按钮下载报告时,我收到此错误:
pandoc version 1.12.3 or higher is required and was not found.
Run Code Online (Sandbox Code Playgroud)
问题是,如果我输入pandoc -v
我得到:
pandoc 1.12.3.3
Compiled with texmath 0.6.6, highlighting-kate 0.5.6.1.
Syntax highlighting is supported for the following languages:
actionscript, ada, apache, asn1, asp, awk, bash, bibtex, boo, c, changelog,
clojure, cmake, coffee, coldfusion, commonlisp, cpp, cs, css, curry, d,
diff, djangotemplate, doxygen, doxygenlua, dtd, eiffel, email, erlang,
fortran, fsharp, gnuassembler, go, haskell, haxe, html, ini, java, javadoc,
javascript, json, jsp, julia, latex, lex, literatecurry, literatehaskell, …
Run Code Online (Sandbox Code Playgroud) 在Web浏览器中,您将参数传递给网站
www.mysite.com/?parameter=1
我有一个闪亮的应用程序,我想在计算中使用传入网站的参数作为输入.那么可以像www.mysite.com/?parameter=1这样做,然后使用input!参数吗?
你能提供任何示例代码或链接吗?
谢谢
我正在开发一个闪亮的应用程序,因为我想使用该功能的自动化测试和文档,我开始在一个包中开发接口(这里推荐).
我在RStudio中开发这个闪亮的应用程序,我有一个server.R
文件,我可以点击RStudio内的运行应用程序按钮,一切正常.我将我的包提交到github存储库,从这一点开始我想在我的R闪亮服务器上使用devtools
和安装它install_github
.
现在我想知道如何在服务器中启动我的应用程序.我天真地想着安装软件包并指向server.R
文件,但这在某种程度上无法正常工作.不确定问题出在哪里.
我的第二次尝试是创建一个文件app.R
,在闪亮的服务器可访问的文件夹中调用,在这个文件中,我基本上加载我的包,闪亮和其他所需的包,但它因为缺少变量而以某种方式抱怨...
有人可以给我一个建议吗?我也很乐意回答任何问题,因为我不确定如何正确地提出这个问题.提前致谢.
编辑部署到闪亮的服务器
由于Colin D在评论中询问如何在闪亮的服务器上部署这些软件包,我想演示如何做到这一点.
首先,我使用以下命令通过root命令行直接在光亮的服务器上安装我的软件包.
su - -c "R -e \"devtools::install_github('user/shinypackage')\""
Run Code Online (Sandbox Code Playgroud)
下一步是更改包文件夹的所有者
chown -R shiny:shiny /usr/local/lib/R/site-library/shinypackage/
Run Code Online (Sandbox Code Playgroud)
然后我重新启动闪亮的服务器,因为这有时会出现缓存等问题.
systemctl restart shiny-server
Run Code Online (Sandbox Code Playgroud)
这些是我更新闪亮应用时的步骤.我通常再次以root为单位执行此操作
su - -c "R -e \"devtools::install_github('user/shinypackage')\"" & chown -R shiny:shiny /usr/local/lib/R/site-library/shinypackage/ & systemctl restart shiny-server
Run Code Online (Sandbox Code Playgroud)
我们仍然需要做的一件事是在shiny-server.conf
文件中设置目录.我刚刚添加了包路径+ 保存ui.R
和server.R
保存的应用程序目录.
location /shinypackage {
app_dir /usr/local/lib/R/site-library/shinypackage/application;
log_dir /var/log/shiny-server;
}
Run Code Online (Sandbox Code Playgroud)
然后我必须使用重新启动服务器systemctl restart shiny-server …
我有一个闪亮的应用程序,在Json中获取输入文件通过分类器运行它并返回一个分类的Json对象.我希望应用程序能够与API通信.我希望API将文件发布到Shiny App,它将完成其工作并返回一个分类对象.基本上我希望Shiny应用程序位于后台,直到文件发布然后完成其工作.我知道我可以使用httr包中的GET从url获取文件.我可以把它放在shiny.server文件中,如果我知道get命令的文件名就可以了
但是,来自API的文件名将有所不同.那么有什么方法可以根据来自API的Post请求使这个动态化.
我有一个闪亮的应用程序,显示我的数据的一个很好的html表,使用renderDataTable
.然后我想做一些基本的统计,子集数据和计算方法以及其他一些数据.
显示结果时renderTable
,我发现日期列未显示日期格式.在图中你可以看到差异.两个表都是从同一个闪亮的Web应用程序中的相同数据集生成的.你能解释一下发生了什么吗?
在这里你可以看到ui.R和server.R.在这个脚本中我只想显示一个表,并对不同的输出感到惊讶.
ui.R
library(shiny)
# Estructura de la página (paneles)
shinyUI(pageWithSidebar(
# Título superior
headerPanel(""),
# Panel lateral izquierdo - selección de datos
sidebarPanel(
helpText("Selecciona las fechas y el tipo de datos.
Pulsa el botón Actualizar."),
selectInput("torre", "Torre:",
list("Agres" = "mariola",
"Alfàs del Pi" = "shelada",
"Altura" = "altura",
"Vistabella del Maestrat" = "vistabella",
"Xàtiva" = "xativa")),
selectInput("tipo", "Intervalo de datos",
list("Diezminutales" = "-datos-10m.csv",
"Diarios" = "-datos-diarios.csv",
"Mensuales" = "-datos-mensuales.csv")),
dateInput('date1',
label = 'Fecha inicial', …
Run Code Online (Sandbox Code Playgroud) 我记得使用了一个选项设置,可以在R控制台中打印服务器和ui之间的消息,同时运行闪亮的应用程序.此选项对于了解应用程序中发生的情况非常有用.但是我无法记住该选项的名称,并且在文档中找不到它.有人可以说出那个选项是什么吗?谢谢!
这不是一个实际问题,而是一个理论问题.我正在考虑使用Shiny以交互方式显示一些原始数据.这可以.
但是 - 是否可以让用户更改显示的数据?
比方说,如果我有一堆滑块供用户限制基础数据以满足某些条件并显示这些观察结果 - 是否可以允许用户对该数据进行修改并将这些修改发送回服务器,反过来又保存了这些变化?
我在考虑用户可以使用Shiny Application浏览数据并检测数据中潜在异常值的情况 - 然后用户可以将这些标记为异常值.但是,该信息需要传递回服务器.
这样的申请可能吗?是否有一些现有的例子?
我正在考虑使用不同的解决方案来创建向用户显示一些数据分析的Web应用程序.我想使用R和闪亮的服务器,但我不确定它将如何为大量用户扩展.问题: