作者:师爷,R语言中文社区作者,
知乎专栏:
https://zhuanlan.zhihu.com/rstudio
Rstudio对静态或者动态的代码有分析的能力,具体的说在编程的过程中,会做一些必要错误提示。
通俗的讲就是当你写代码的时候,系统会自动提示错误,并且进行纠正,极大的帮助初学者避免一些不必要的小bug,简直不要太提心。
启动路径:tools -> Global Options -> Code -> Diagnostics 编辑框:
图中选项的简介:
是否在R代码中执行展现行为
是否在函数调用的过程中展现诊断结果
例如. dplyr::select(mtcars, mpg, cyl). 如果你在大量使用非标准编写代码情况下,切换到此状态,而且为此导致RStudio不能生成正确的代码诊断。
只在函数中填入部分参数,帮你判断是否能够执行代码。诊断引擎会反馈缺失参数,不匹配参数,部分匹配参数,过多参数等错误。
例如,在下面的RStudio检测到函数add_numbers缺少参数y. 注:无论add_numbers是否在当下的编程环境下。
类似的, missing arguments报告如下 (缺少逗号):
如果当前的变量没有定义就会提示,诊断引擎会做简单的语法提示,具有局限性。
(图中的对象具有局域性)
此诊断是针对辨认变量已经被创建,但是没有使用的情况。常常用于试图清除旧的代码,或者其他小的错误(你认为需要用,但是后来却没有用到)
例如:变量“result” 已经被定义,但是没有使用或者返回值。
这种诊断规则来自于Hadley Wickham’s style guide 的代码规则, 并且做出警告,尤其是,诊断引擎试图会对空格的错误用法进行提示。
目前不支持用户改写内在诊断逻辑。
RStudio也可对其他语言进行诊断 包括 C / C++, JavaScript, Python.
The C / C++ 语言的诊断报告编译器错误并做出资源文本警告。
当有诊断结果产生,会在一下两处进行提示:
-
在代码左侧“!”标志对应错误行
-
对应错误的下划线. 如下图
这个特性控制诊断结果的展现和更新, 诊断可以保存之后呈现或者键盘输入代码若干时间后显示。
你可以启动诊断引擎作用在项目文件中的所有R文件上,或者用向导菜单,快捷键 CMD + ALT + SHIFT + P (CTRL 在Windows):
对项目进行诊断之后,控制台出现诊断结果的Markers框,内容包括所有的错误和警告
RStudio诊断引擎加入魔法注释来控制每个文件的基础信息
常用的魔法注释:
# !diagnostics off -- 不对这个文档进行诊断
# !diagnostics style=[true/false] -- 对这个文档切换诊断.
# !diagnostics level=[syntax/core/all] --切换, 严重性,
此外,可以对特殊的变量进行特殊的处理:
# !diagnostics suppress=
例如, global_variable没进行提示, 而other_global_variable却又如下提示:
R语言的诊断具有局限性,如有bug请联系: support.rstudio.com.
公众号后台回复关键字即可学习
回复
R
R语言快速入门免费视频
回复
统计
统计方法及其在R中的实现
回复
用户画像
民生银行客户画像搭建与应用
回复
大数据
大数据系列免费视频教程
回复
可视化
利用R语言做数据可视化
回复
数据挖掘
数据挖掘算法原理解释与应用
回复
机器学习
R&Python机器学习入门