R语言学习代码格式一键美化

目录
  • RStudio 快捷操作
  • formatR 包
  • 配合 Shiny 包使用
  • 参考

当写R代码时,很多时候写的代码或者看到的代码缩进都很难统一到标准的格式。这时为了规范化代码,我们需要再代码中一行一行查代码,将其修改成标准的格式。

那么我们有没有一键代码整理的方式或者R包呢?

答案是有的!

下面我们介绍两种方法。

RStudio 快捷操作

如果你使用的是RStudio 写代码的话,那么只用全选代码(Ctrl + A),而后输入如下命令:

Ctrl + Shift + A

即可简单调整缩进与格式。

但这样的操作知识对现有代码的微调,不能将代码中的=统一成<-,也不能将函数或者循环后面的大括号{ }换行或者空格。同样也不能很好的完美调整缩进。

这时我们推荐另一个神器,谢益辉大神的 formatR 包。

formatR 包

我们只需使用如下代码,就可以对路径中的代码一键美化:

library(formatR)
# tidy_source("file path")
tidy_source("C:/Users/PC_name/Desktop/myfile.R")

如果添加参数arrow = T,就可将等号=替换成复制号<-

file = "C:/Users/PC_name/Desktop/myfile.R" 则可直接将原本路径下的文件替换,变成整理好的代码。

还有更多功能,可以直接看包内的说明:

Arguments
source a character string: location of the source code (default to be the clipboard; this means we can copy the code to clipboard and use tidy_source() without specifying the argument source)
comment whether to keep comments (TRUE by default)
blank whether to keep blank lines (TRUE by default)
arrow whether to replace the assign operator = with <-
brace.newline whether to put the left brace { to a new line (default FALSE)
indent number of spaces to indent the code (default 4)
wrap whether to wrap comments to the linewidth determined by width.cutoff (note that roxygen comments will never be wrapped)
output output to the console or a file using cat?
text an alternative way to specify the input: if it is NULL, the function will read the source code from the source argument; alternatively, if text is a character vector containing the source code, it will be used as the input and the source argument will be ignored
width.cutoff passed to deparse: integer in [20, 500] determining the cutoff at which line-breaking is tried (default to be getOption(“width”))
other arguments passed to cat, e.g. file (this can be useful for batch-processing R scripts, e.g. tidy_source(source = ‘input.R', file = ‘output.R'))

配合 Shiny 包使用

如果你还是觉得这些参数太复杂了,就想要无脑靠无脑点击鼠标就能完成代码美化工作,那么可以事先安装好 Shiny 包,而后使用如下代码,利用交互界面进行代码美化工作。

library(shiny)
tidy_app()

下面是一个例子:

美化前的代码:

美化后的代码:

参考

Auto-format R code in RStudio

an introduction to this package, with examples and further notes

以上就是R语言学习代码格式一键美化的详细内容,更多关于R语言代码格式美化的资料请关注我们其它相关文章!

(0)

相关推荐

  • R语言 UTF-8各种问题的解决方案

    R语言在碰到读UTF-8文件,或者处理UTF-8数据时总是会遇到各种各样的问题,本姑娘也是在碰了n多次壁,被气得吐血好多次之后,终于对这类总结出了一些解决办法: 1. 读UTF-8文件,例如UTF-8格式的csv: 最好的处理办法就是: a1=read.table('C:\\test11.csv',sep=',',fileEncoding = 'UTF-8',header = F) 如果使用如下方法可能会出错(全是血泪教训啊): a2=read.csv('C:\\test11.csv',file

  • R语言 中文乱码的解决方案

    问题背景 在R Studio中重新载入之前编辑好的.r文件,结果发现内容中的所有中文都乱码了. 问题解决 在R Studio中选择菜单栏File->Reopen with Encoding- 选择当初编辑.r文件保存的格式,如常见的UTF-8: 最后确定,乱码问题搞定. 补充:2个实用的解决R语言中文乱码方法 导入R代码出现中文乱码是时长发生的让人头疼的事情,两个经常用到的方法供参考. 方法1 导入R代码,出现乱码,依次点击File-Reopen with encoding-Choose enc

  • R语言基本语法深入讲解

    基本数据类型 数据类型 向量 vector 矩阵 matrix 数组 array 数据框 data frame 因子 factor 列表 list 向量 单个数值(标量)没有单独的数据类型,它只不过是向量的一种特例 向量的元素必须属于某种模式(mode),可以整型(integer).数值型(numeric).字符型(character).逻辑型(logical).复数型(complex) 循环补齐(recycle):在一定情况下自动延长向量 筛选:提取向量子集 向量化:对向量的每一个元素应用函数

  • R语言与格式,日期格式,格式转化的操作

    R语言的基础包中提供了两种类型的时间数据,一类是Date日期数据,它不包括时间和时区信息,另一类是POSIXct/POSIXlt类型数据,其中包括了日期.时间和时区信息. 基本总结如下: 日期data,存储的是天: 时间POSIXct 存储的是秒,POSIXlt 打散,年月日不同: 日期-时间=不可运算. 一般来讲,R语言中建立时序数据是通过字符型转化而来,但由于时序数据形式多样,而且R中存贮格式也是五花八门,例如Date/ts/xts/zoo/tis/fts等等.lubridate包(后续有介

  • R语言学习代码格式一键美化

    目录 RStudio 快捷操作 formatR 包 配合 Shiny 包使用 参考 当写R代码时,很多时候写的代码或者看到的代码缩进都很难统一到标准的格式.这时为了规范化代码,我们需要再代码中一行一行查代码,将其修改成标准的格式. 那么我们有没有一键代码整理的方式或者R包呢? 答案是有的! 下面我们介绍两种方法. RStudio 快捷操作 如果你使用的是RStudio 写代码的话,那么只用全选代码(Ctrl + A),而后输入如下命令: Ctrl + Shift + A 即可简单调整缩进与格式.

  • R语言学习ggplot2绘制统计图形包全面详解

    目录 一.序 二.ggplot2是什么? 三.ggplot2能画出什么样的图? 四.组装机器 五.设计图纸 六.机器的零件 1. 零件--散点图 1) 变换颜色 2) 拟合曲线 3) 变换大小 4) 修改透明度 5) 分层 6) 改中文 2. 零件--直方图与条形图 1) 直方图 2) 润色 3) 条形图 3. 零件--饼图 4. 零件--箱线图 5. 零件--小提琴图 6. 零件打磨 7. 超级变变变 8. 其他常用零件 七.实践出真知 八.学习资源 九.参考资料 一.序 作为一枚统计专业的学

  • R语言学习RcppEigen进行矩阵运算

    目录 创建cpp文件 代码示例 其他矩阵操作 命名 基础用法 定义矩阵 对矩阵的一些基础操作1 基础操作2 矩阵基础运算1 矩阵基础运算2 求最小最大值.迹等 点乘等 特征值与特征向量 形式转换 矩阵初始化0 Map等操作 求解Ax = b 前面我们介绍了一些基本的Rcpp的用法:让你的R代码更快--Rcpp入门,但用基础的Rcpp来进行矩阵运算还是非常麻烦,没有现成的函数来让我们使用. 这时我们就想到:是否可以调用别的库来解决矩阵运算的一些问题呢?这就需要我们的RcppEigen包,也就是C+

  • R语言学习之线图的绘制详解

    目录 线图 单线图 多线图 横轴文本线图 线图 线图是反映趋势变化的一种方式,其输入数据一般也是一个矩阵. 单线图 假设有这么一个矩阵,第一列为转录起始位点及其上下游5 kb的区域,第二列为H3K27ac修饰在这些区域的丰度,想绘制一张线图展示. profile="Pos;H3K27ac -5000;8.7 -4000;8.4 -3000;8.3 -2000;7.2 -1000;3.6 0;3.6 1000;7.1 2000;8.2 3000;8.4 4000;8.5 5000;8.5"

  • R语言学习笔记之lm函数详解

    在使用lm函数做一元线性回归时,发现lm(y~x+1)和lm(y~x)的结果是一致的,一直没找到两者之间的区别,经过大神们的讨论和测试,才发现其中的差别,测试如下: ------------------------------------------------------------- ------------------------------------------------------------- 结果可以发现,两者的结果是一样的,并无区别,但是若改为lm(y~x-1)就能看出+1和

  • R语言学习初识Rcpp类型List

    目录 当我们想将 Rcpp 中的多种类型的对象通过一个 return 函数返回时,此时就需要将我们的所有对象整理成一个 Rcpp::List 型,然后再进行返回. 但相比于 R 中的 list(mat1 = mat1, mat2 = mat2) ,Rcpp 中的列表创建就相对复杂一些,需要使用 create() 函数,如下面例子所示: Rcpp::List ListFun(MatrixXd X) { Eigen::MatrixXd mat1, mat2; return List::create(

  • R语言学习Rcpp基础知识全面整理

    目录 1. 相关配置和说明 2. 常用数据类型 3. 常用数据类型的建立 4. 常用数据类型元素访问 5. 成员函数 6. 语法糖 6.1 算术和逻辑运算符 6.2. 常用函数 7. STL 7.1. 迭代器 7.2. 算法 7.3. 数据结构 7.3.1. Vectors 7.3.2. Sets 7.3.3. Maps 8. 与R环境的互动 9. 用Rcpp创建R包 10. 输入和输出示例 如何传递数组 通过.attr("dim")设置维数 函数返回一维STL vector 函数返回

  • R语言学习笔记缺失数据的Bootstrap与Jackknife方法

    目录 一.题目 二.解答 a)Bootstrap与Jackknife进行估计 b)均值与变异系数(大样本)的标准差解析式推导与计算 c)缺失插补前的Bootstrap与Jackknife d)比较各种方式的90%置信区间情况(重复100次实验) 填补之前进行Bootstrap或Jackknife 填补之后进行Bootstrap或Jackknife 一.题目 下面再加入缺失的情况来继续深入探讨,同样还是如习题1.6的构造方式来加入缺失值,其中a=2, b = 0 我们将进行如下几种操作: 二.解答

  • R语言学习VennDiagram包绘制韦恩图示例

    目录 引言 一 需要安装和导入的包 二 使用函数及参数 三 知道各个数据集的个数以及重叠(交叉)的个数 2.1 两个已知数据集的韦恩图 2.2 三个已知数据集的韦恩图 四 根据数据集合绘制韦恩图 4.1 四个数据集合 4.2 五个数据集合 引言 本版块会持续分享一些常用的结果展示的图形. 在得到数据之后,我们经常会用到维恩图来展示各个数据集之间的重叠关系.本文简单的介绍R语言中的VennDiagram包绘制数据集的维恩图. 一 需要安装和导入的包 install.packages("VennDi

  • R语言入门使用RStudio制作包含Rcpp代码的R包

    目录 1. 创建项目 2. 修改一些文件 3. 打包 4. 使用Eigen或其它依赖库会出现的问题 前面博客中有提及,当我们进行模拟想要再次进行提速时,通常都会使用Rcpp将我们的R代码改成C++代码.具体Rcpp的使用可参考博客:Rcpp入门R代码提速方法过程,R语言学习RcppEigen进行矩阵运算. 平时在我们使用的时候,直接使用Rcpp::sourceCpp()就可以直接将我们的C++代码中的函数进行导入,这不会遇到什么问题,但如果我们想要使用snowfall进行并行时就不能再这样做了.

随机推荐