搜索
查看: 1600|回复: 0

12-shiny的调试技巧

[复制链接]

634

主题

1182

帖子

4030

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4030
发表于 2017-3-16 11:42:35 | 显示全部楼层 |阅读模式
有好几种技巧可以用来调试shiny程序。第一种是增加cat函数的调用,这样可以在适当的地方打印诊断信息。例如,下面两条调用就是用来打印标准输出和标准错误的信息:
cat("foo\n")
cat("bar\n", file=stderr())
使用调试浏览器

第二种方式是增加browser函数的显式调用,来中断程序执行,并查看调用browser时所处的环境。注意,使用browser需要你从交互式会话中启动应用程序(这与上面提到的用R -e的方式相反)。
例如,在代码的某个地方无条件地停止执行:
# Always stop execution here
browser()
你也可以用这种方法在特定条件下停止执行代码。例如,当用户选择”Transmission”作为变量的时候停止MPG程序:
# Stop execution when the user selects "am"
browser(expr = identical(input$variable, "am"))
建立一个自定义错误处理器

你可以设置R的 "error" 选项,使得当错误发生的时候,自动进入调试浏览器:
# Immediately enter the browser when an error occurs
options(error = browser)
另一种方法,你可以设置recover函数做为错误处理器,它可以打印一个调用列表,并允许你在堆栈的任何位置查看:
# Call the recover function when an error occurs
options(error = recover)
如果你想自动地对每个会话设置error选项,你可以用R Startup这篇文章描述的方法来修改.Rprofile文件。
你这个问题很复杂,需要打赏,请点击 http://www.bio-info-trainee.com/donate 进行打赏,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2019-8-22 22:34 , Processed in 0.026840 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.