Chapter 1 前言 preface

本书目标:总结R语言的最佳实践,特别是可视化方面,并付诸行动,持续提升技能、习惯和思维方式。

  • 覆盖范围,文件摆放
  • 编码习惯,代码结构
  • 函数命名,函数结构,变量命名
  • 并行执行

养成良好的编程习惯重在日常。 一个好的程序应该具备可读性与可理解性。

下面是应该养成的好习惯:

  • 采用结构化、模块化编程
  • 增加注释
  • 使用意义明确的名字给变量命名
  • 行前自动缩进

1.1 帮助 help

本文定位是中高级用户,熟手。 对于还没入门的,请参考入门读物 准备工作,阅读前两个章节。

1.1.1 R包版本信息 version

sessionInfo()
## R version 4.1.1 (2021-08-10)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 20.04.3 LTS
## 
## Matrix products: default
## BLAS:   /data/public/R-4.1.1/lib/R/lib/libRblas.so
## LAPACK: /data/public/R-4.1.1/lib/R/lib/libRlapack.so
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
##  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
##  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## loaded via a namespace (and not attached):
##  [1] bookdown_0.24   digest_0.6.27   R6_2.5.1        jsonlite_1.7.2 
##  [5] magrittr_2.0.1  evaluate_0.14   stringi_1.7.4   rlang_0.4.11   
##  [9] rstudioapi_0.13 jquerylib_0.1.4 bslib_0.3.0     rmarkdown_2.11 
## [13] tools_4.1.1     stringr_1.4.0   xfun_0.26       yaml_2.2.1     
## [17] fastmap_1.1.0   compiler_4.1.1  htmltools_0.5.2 knitr_1.34     
## [21] sass_0.4.0

1.1.2 How to Build and publish?

  • push master with code;
  • push gh-pages with html and figs.
dir: /home/wangjl/data/rmarkdown_demo/bookdown-demo-main/

1. 修改好后,增加版本号 index.Rmd 和 changeLog.txt 中一致
2. > build
3. push
$ git add .
$ git commit -m 'xxx'
$ git push origin master

3. $ mv docs docs2
1. $ git checkout gh-pages
2. replace docs/
$ rm -rf docs
$ mv docs2 docs

$ git add docs/
$ git commit -m '20220118'
$ git push origin gh-pages

$ git checkout master
> build # again