R进阶 | 养成良好的R代码编写习惯

代码组织

  1. 任何R代码应该认为是从全新的R进程开始运行,其工作路径就是项目路径。它在自己的工作空间和文件夹中创建自己需要的所有东西,不触及它没有创建的东西。比如,它不会安装额外的包。???
    这样才能保证在自己电脑的任何位置,或者他人的电脑上都可以顺利运行。
  1. 如果脚本包含代码很多,可以考虑安装逻辑顺序将其拆分成多个小脚本(模块),并按执行顺序命名如1_fetch_data.R, 7_plot_data.R等。模块和真正的脚本一样使用,而且模块化的工作流程可以作为自定义函数的集合。

  2. 每次退出Rstudio时不要saving your workspace image。重新打开时,我们需要的所有变量和结果应该可以通过重新运行一遍脚本得到。如何关掉询问对话框:
    Tools > Global Options and clicking “Never” in the dropdown next to “Save workspace to .RData on exit”.

代码本身

  1. 将所有library()和hard-coded变量放在脚本的最前面。
  2. 避免用rm(list=ls)
  3. 避免在R文档在最上面用setwd
  • Organize each logical project into a folder on your computer.
  • 确保顶级文件夹是一眼就能看明白的是有特征的。例如顶级文件夹中有一个名字是.here的空文件。或者,如果你使用RStudio和/或Git,那些都会留下特征文件,这将完成工作。
  • 使用here package的here()函数可在读取或写入文件时构建路径。创建相对于顶级目录的路径。
    在foofy目录启动下面代码。(foofy目录可以在任何地方)
library(ggplot2)
library(here)

df <- read.delim(here("data", "raw_foofy_data.csv"))
p <- ggplot(df, aes(x, y)) + geom_point()
ggsave(here("figs", "foofy_scatterplot.png"))

-每当您处理此项目时,从项目的顶级目录启动R进程。如果从shell启动R,则首先启动切换目录(Change Directory: CD)到正确的文件夹。

注释

分析数据时,注释用来记录重要的发现和分析决策。如果你发现自己要用注释来解释自己的代码在做什么,考虑将代码写的更清楚。如果你的注释比代码还多,考虑使用RMarkdown。

参考

1.Efficient R programming 电子书

你可能感兴趣的:(R进阶 | 养成良好的R代码编写习惯)