首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何访问启动闪亮应用程序的函数的环境?

如何访问启动闪亮应用程序的函数的环境?
EN

Stack Overflow用户
提问于 2016-12-07 22:34:37
回答 1查看 600关注 0票数 1

我有一个闪亮的应用程序,我通过调用一个调用shiny::runApp的函数来运行它。应用程序可以访问全局环境,因此它可以访问具有预先决定名称的对象中的数据。但是,我想通过运行应用程序的函数的参数传递数据。下面的示例起作用。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
f <- function(param) {
  runApp(
    list(
      ui = fixedPage({
        verbatimTextOutput('text')
      }),
      server = function(input, output) {
        output$text <- renderPrint(param)
      })
  )
}

f("hello")

但是,当从文件加载ui和服务器组件时,我无法再现这种行为:

文件内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ cat ui.R 
fixedPage({
      verbatimTextOutput('text')
    })

$ cat server.R 
function(input, output) {
      output$text <- renderPrint(param)
    }

R码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
g <- function(param) {
  runApp()
}

g("hello")

错误消息:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Listening on http://127.0.0.1:3870
Warning: Error in renderPrint: object 'param' not found
Stack trace (innermost first):
    86: renderPrint
    85: func
    84: eval
    83: eval
    82: withVisible
    81: evalVis
    80: utils::capture.output
    79: paste
    78: origRenderFunc
    77: output$text
     2: runApp
     1: g [#2]

我猜想这与以下事实有关:在这两个示例中,组件不是在类似的作用域中创建的,但我无法找到解决办法.在第二个例子中,我是否可以从这个闪亮的应用程序中访问函数g的环境?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-07 23:03:59

是。在全局环境中定义param对象:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
g <- function(param) {
  assign("param",param,.GlobalEnv)
  runApp()
}
#this now works and print `hello` as intended
g("hello")
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41033203

复制
相关文章
flashfxp编辑文件显示活动编辑的取消办法
我一直在使用的是国产的8UFTP,但是最近win10系统貌似有点不和谐,编辑文件上传的时候会有一秒“未响应”的卡顿情况,所以有些别扭,又不想做回win7,所以就想起了比较强大的flashfxp。
李洋博客
2021/06/16
1.5K0
取消开机时显示DHCP
集成网卡解决方法: 开机按Del键进入Bios->Integrated Peripherals ->Onboard LAN Boot Rom 改为Disabled。
杨强生
2019/03/05
2.1K0
取消开机时显示DHCP
Linux下gdb使用gdb命令时显示找不到文件
用户10551528
2023/10/18
8070
Maven 错误找不到符号
当碰到maven错误:找不到符号问题时,通常第一反应应该是执行eclipse的Project -> Clean … -> Clean all projects,然后再执行maven clean,将项目清理一下,然后再试试,如果还是不能解决接着往下看。
我是李超人
2020/08/20
7.4K0
vs2010点调试,显示系统找不到指定的文件
首先,查看“项目”-“属性”-“链接器”-“常规”-“输出文件”,路劲是否是“bin/xxx.exe”, 如果是请继续看我的解答,否则请忽略下面的内容。 原因是用VS2010加载调试以前的VC6.0下
互联网金融打杂
2018/04/03
2.3K0
vs2010点调试,显示系统找不到指定的文件
git取消文件跟踪
在使用git的时候,有些文件是不需要上传的,所以就可以修改   .gitignore 
lin_zone
2018/08/15
1.3K0
git取消文件跟踪
《SpringCloud错误篇:application.yml文件显示灰色》
2.File Types—>Text—>application.yml删除
2020/11/13
1.4K0
《SpringCloud错误篇:application.yml文件显示灰色》
git取消文件跟踪
在使用git的时候,有些文件是不需要上传的,所以就可以修改 .gitignore
全栈程序员站长
2022/07/07
1.5K0
git取消文件跟踪
bootstrap-fileinput上传完文件后再打开上传文件界面显示取消按钮
Bootstrap File Input是一款基于bootstrap框架的html5上传文件插件,具体展示效果如下:
johnhuster的分享
2022/03/28
1.8K0
bootstrap-fileinput上传完文件后再打开上传文件界面显示取消按钮
git 取消文件跟踪
git rm --cached readme1.txt    删除readme1.txt的跟踪,并保留在本地。
西湖醋鱼
2020/12/30
1.5K0
pycharmimport时找不到指定文件_pycharm系统找不到指定文件
Error running ‘hello’: Cannot run program “B:\pystudy\venv\Scripts\python.exe” (in directory “\python-study”): CreateProcess error=2, 系统找不到指定的文件。
全栈程序员站长
2022/09/27
5.7K0
pycharmimport时找不到指定文件_pycharm系统找不到指定文件
git 取消托管文件
如果想要取消托管某文件夹,通过如下命令能解决: git rm -r --cached .idea #--cached不会把本地的.idea删除 git commit -m '描述信息' git push -u origin master
week
2019/08/14
2.6K0
git取消跟踪文件
取消跟踪文件: $git rm --cached FILENAME 取消跟踪目录: $git rm --cached FILENAME -r   最佳解决方案: 先清空,再加回来。 git rm -r --cached . #删除追踪状态 git add . git commit -m "fixed untracked files"
Ryan-Miao
2018/03/13
7540
JavaScript实现显示时间,暂停时间,和取消显示时间
//显示时间函数 var id;//设置该id主要是为了之后的暂停和取消显示时间用到clearInterval(这里传id); function showTime(){ var divOne=document.getElementById("one"); var d=new Date(); var timStr=d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate()+" "+ d.getHours()+":"+d.getMinutes()+":"+d.getSeconds()+":"+d.getMilliseconds(); divOne.innerHTML=timStr; id=setInterval(function(){ d=new Date(); timStr=d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate()+" "+ d.getHours()+":"+d.getMinutes()+":"+d.getSeconds()+":"+d.getMilliseconds(); divOne.innerHTML=timStr; }, 1) }
小小鱼儿小小林
2020/06/23
2.3K0
点击显示错误
双折线点击一个,另一显示a b 错误.PNG 正确.PNG 隐藏一条线 tooltip: { // 气泡 trigger: "axis"
用户4344670
2019/08/28
1.2K0
点击显示错误
小程序开发找不到appjson_appjson文件内容错误未找到
– 问题原因: 导入微信开发者工具后project.config.json文件被微信开发者工具修改,缺少代码:“miniprogramRoot”: “./dist”从而导致微信开发者工具无法找到app.json文件进而报错:app.json: app.json 未找到,所以需要找到app.json 文件所在的文件夹,然后在project.config.json文件里写上aap.json的路径重新运行即可。
全栈程序员站长
2022/11/04
3.1K0
小程序开发找不到appjson_appjson文件内容错误未找到
Typecho评论回复取消回复按钮合并显示
第一步屏蔽默认评论js 将header.php中的header(); ?>改为header('commentReply='); ?> 第二步放置重构的js代码 将下面的一堆js代码放到comment
泽泽社长
2023/04/17
1.2K0
Typecho评论回复取消回复按钮合并显示
「R」显示英文错误
中文使用 R 经常看到各种乱码文字,让人看不懂意思,特别是在 Windows 系统上。
王诗翔呀
2020/07/02
1.8K0
CMD批处理——forfiles命令使用,自动删除过期备份文件
公司服务器用来备份数据的硬盘过段时间就会被备份文件占满,弄得我老是要登录到服务器去手工删除那些老的文件,有时忘记了就会导致硬盘空间不足而无法备份。 因为只要保留最近几天的备份,如果可以做一个批处理让系统自动删除老备份文件就好了,但是Windows的命令行和Linux的Shell比起来功能差了很多,到底行不行我自己也不清楚。 于是上网查了一下各位大虾发的帖子,再经过自己的摸索和尝试,发现只要花点功夫还是能实现这个功能的。 Windows Server 2003内置的命令行文件,适合于XP以上系统 示例:
landv
2018/05/24
4.4K0
点击加载更多

相似问题

找不到AngularJS映像取消显示错误

11

删除文件夹时出现forfiles错误

313

Forfiles -排序文件

20

Output forfiles错误到变量

04

找不到P4取消搁置文件错误

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文