带着便携的R闪亮?

带着便携的R闪亮?,r,shiny,R,Shiny,对于使用R构建一些web服务,我通常使用,但我想看看Shiny,看看它能做些什么。 问题是,在我设想使用它的这种情况下,我没有一台可以运行R&Shining的服务器,也不能将数据传输到运行它的另一台机器。我只有一个桌面,我想向其他用户展示这个闪亮的应用程序,而不需要他们在桌面上安装R,也不需要为安装而烦恼 这就是我的问题。我是否可能将R portable安装在与同事共享的共享驱动器上,并且闪亮的应用程序可以与portable R版本交互。 如果这是可能的,是否有人尝试过它,并愿意分享他的一些代码

对于使用R构建一些web服务,我通常使用,但我想看看Shiny,看看它能做些什么。 问题是,在我设想使用它的这种情况下,我没有一台可以运行R&Shining的服务器,也不能将数据传输到运行它的另一台机器。我只有一个桌面,我想向其他用户展示这个闪亮的应用程序,而不需要他们在桌面上安装R,也不需要为安装而烦恼

这就是我的问题。我是否可能将R portable安装在与同事共享的共享驱动器上,并且闪亮的应用程序可以与portable R版本交互。
如果这是可能的,是否有人尝试过它,并愿意分享他的一些代码来证明它是有效的?

如果你能让你的R-Portable设置有一个可移植的软件包库,这应该可以正常工作。Shinny不启动R,您运行R,然后从那里加载并启动您的Shinny应用程序(使用
Shinny::runApp()
),然后浏览器和R进程使用TCP进行通信

如果你的应用不需要是私有的,你也可以在RStudio自己的主机上申请一个帐户。它在测试版时是免费的

操作系统:Windows 7-64位

按照下面链接中解释的步骤操作,但创建一个批处理文件以运行Shining应用程序除外,因为在该web链接中启动web浏览器的建议不起作用(web浏览器打开时没有应用程序内容),至少对我来说是这样

此批处理脚本查找未使用的非特权端口,并使用它从USB闪存驱动器使用便携式google chrome web浏览器打开本地web应用程序()。在上面的Web链接中,作者关于创建单独的runShinyApp.R和run.bat的建议被压缩为一个批处理文件,如下所示

@echo off
    title 'My Shiny APP'

    setlocal ENABLEDELAYEDEXPANSION

    for /l %%X in (1025,1,65535) do (   
        netstat -o -n -a | findstr :%%X 
        if !ERRORLEVEL! neq 0 ( 
            set avail_port=%%X
            goto eof
        ) 
    )

    :eof
    SET ROPTS=--no-save --no-environ --no-init-file --no-restore --no-Rconsole

    start "" ".\GoogleChromePortable\App/Chrome-bin/chrome.exe" "http://localhost:!avail_port!/"

    R-Portable\App\R-Portable\bin\Rscript.exe %ROPTS% -e "require(methods); shiny::runApp('./shiny', launch.browser = FALSE, port = !avail_port!)" 1> ShinyAppOut.log 2> ShinyAppMsg.log

我认为这对超级用户来说更像是一个问题,而不是stack exchange的软件安装问题,而不是编码问题。我对软件安装不感兴趣。我知道怎么做。我只是对Shiny如何知道与哪个R沟通感兴趣。我在工作中经常这样做。我在文件服务器上安装了R+库,并通过文件服务器与ui.R en server.R文件共享地图。太好了。谢谢你的确认。我将尝试R-portable安装程序。默认情况下,shiny在端口8100上运行和侦听,但我看不出它是仅在本地主机上还是在所有接口上运行。假设它可以在外部接口上监听,那么你只需要运行它,并将URL提供给你想要查看你的应用程序的任何人。端口80以外的端口可能是人们防火墙的一个问题,而端口80需要根权限(至少在linux上),因此您将以根用户身份运行R…嗯,我尝试了R-portable with library(闪亮);运行示例(“01_你好”);但是我得到了:“as.environment(x)中的错误:'as.environment'的对象无效”,这是由cacheContext引起的