欢迎

本书写作过程中收到来自 Song LiJackieMeyang 的贡献,在此表示感谢,我们欢迎更多的人参与改进本书。

本书搬迁过程中更新、替换了原稿中的很多代码,现在与本书配套的 R 软件版本是 R Under development (unstable) (2019-12-29 r77627),我们同时也在 R 版本 3.6.1 中完成测试。为方便读者复现本书中的计算结果和统计图形,同时也为了方便在 Travis 上自动测试贡献者提交的 PR 和自动部署每次提交的修改,本书的运行环境已经被打包成 Docker 镜像,托管在 Docker Hub 上,镜像地址是 https://hub.docker.com/r/xiangyunhuang/msg-book, 读者可从 Docker Hub 上下载,也可根据目录 docker/ 下的 Dockerfile 本地构建。

软件信息

本书是在 RStudio 里用 R Markdown (Xie, Allaire, and Grolemund 2018) 编辑的,bookdown (Xie 2016) 组织各个章节的 Rmd 文件,knitr (Xie 2015) 运行 Rmd 文件中的 R 代码块,并将 Rmd 文件转化为 md 文件,借助 Pandoc 将 md 文件转化为 html 和 tex 文件,在 TinyTeX 的作用下,同时输出 pdf 格式的书籍。

## R Under development (unstable) (2019-11-15 r77425)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 16.04.6 LTS
## 
## Matrix products: default
## BLAS:   /home/travis/R-bin/lib/R/lib/libRblas.so
## LAPACK: /home/travis/R-bin/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] base      compiler  datasets  graphics  grDevices grid      methods  
##  [8] parallel  splines   stats     stats4    tcltk     tools     utils    
## 
## other attached packages:
##   [1] abind_1.4-7             alphahull_2.2           animation_2.6          
##   [4] aplpack_1.3.3           askpass_1.1             assertthat_0.2.1       
##   [7] av_0.3                  backports_1.1.5         base64enc_0.1-3        
##  [10] BH_1.69.0-1             bitops_1.0-6            bookdown_0.15          
##  [13] cairoDevice_2.28        callr_3.3.2             caTools_1.17.1.2       
##  [16] classInt_0.4-2          cli_1.1.0               coda_0.19-3            
##  [19] colorspace_1.4-2        corrplot_0.84           cowplot_1.0.0          
##  [22] crayon_1.3.4            crosstalk_1.0.0         curl_4.2               
##  [25] data.table_1.12.6       DBI_1.0.0               deldir_0.1-23          
##  [28] dendextend_1.12.0       digest_0.6.22           dplyr_0.8.3            
##  [31] e1071_1.7-2             ellipsis_0.3.0          evaluate_0.14          
##  [34] fansi_0.4.0             farver_2.0.1            fastmap_1.0.1          
##  [37] filehash_2.4-2          foreach_1.5.1           formatR_1.7            
##  [40] fun_0.2                 gclus_1.3.2             gdata_2.18.0           
##  [43] gdtools_0.2.1           GGally_1.4.0            gganimate_1.0.3.9000   
##  [46] ggplot2_3.2.1           ggpointdensity_0.1.0    gifski_0.8.6           
##  [49] glue_1.3.1              goftest_1.1-1           gplots_3.0.3           
##  [52] gridExtra_2.3           gtable_0.3.0            gtools_3.8.1           
##  [55] gWidgets_0.0-54.1       gWidgetsRGtk2_0.0-86    heatmaply_0.16.0       
##  [58] hexbin_1.28.0           highr_0.8               hms_0.5.2              
##  [61] htmltools_0.4.0         htmlwidgets_1.5.1       httpuv_1.5.2           
##  [64] httr_1.4.1              igraph_1.2.4.1          iplots_1.1-7.1         
##  [67] iterators_1.0.12        jsonlite_1.6            knitr_1.26             
##  [70] labeling_0.3            later_1.0.0             lazyeval_0.2.2         
##  [73] leaflet_2.0.3           leaflet.providers_1.9.0 lifecycle_0.1.0        
##  [76] lmtest_0.9-37           lpSolve_5.6.13.3        magick_2.2             
##  [79] magrittr_1.5            manipulateWidget_0.10.0 maps_3.3.0             
##  [82] maptools_0.9-8          markdown_1.1            MatrixModels_0.4-2     
##  [85] mime_0.7                miniUI_0.1.1.1          misc3d_0.8-4           
##  [88] MSG_0.4.1               munsell_0.5.0           mvtnorm_1.0-11         
##  [91] network_1.15            openssl_1.4.1           pdftools_2.3           
##  [94] pillar_1.4.2            pkgconfig_2.0.3         plogr_0.2.0            
##  [97] plot3D_1.1.1            plotly_4.9.1            plotrix_3.7-6          
## [100] plyr_1.8.4              png_0.1-7               polyclip_1.10-0        
## [103] prettyunits_1.0.2       processx_3.4.1          progress_1.2.2         
## [106] promises_1.1.0          ps_1.3.0                purrr_0.3.3            
## [109] qap_0.1-1               qpdf_1.1                quantreg_5.52          
## [112] R.methodsS3_1.7.1       R.oo_1.23.0             R.utils_2.9.0          
## [115] R6_2.4.1                randomForest_4.6-14     raster_3.0-7           
## [118] RColorBrewer_1.1-2      Rcpp_1.0.3              registry_0.5-1         
## [121] remotes_2.1.0           reshape_0.8.8           reshape2_1.4.3         
## [124] rgeos_0.5-3             rggobi_2.1.22           rgl_0.100.31           
## [127] RgoogleMaps_1.4.4       RGtk2_2.20.36           rJava_0.9-11           
## [130] rlang_0.4.1             rmarkdown_1.17          scales_1.0.0           
## [133] scatterplot3d_0.3-41    seriation_1.2-8         sf_0.8-0               
## [136] sgeostat_1.0-27         shiny_1.4.0             showtext_0.7           
## [139] showtextdb_2.0          signal_0.7-6            sm_2.2-5.6             
## [142] sna_2.4                 sourcetools_0.1.7       sp_1.3-2               
## [145] SparseM_1.77            spatstat_1.61-0         spatstat.data_1.4-0    
## [148] spatstat.utils_1.13-0   splancs_2.01-40         statnet.common_4.3.0   
## [151] stringi_1.4.3           stringr_1.4.0           svglite_1.2.2          
## [154] sys_3.3                 sysfonts_0.8            systemfonts_0.1.1      
## [157] TeachingDemos_2.11      tensor_1.5              tibble_2.1.3           
## [160] tidyr_1.0.0             tidyselect_0.2.5        tikzDevice_0.12.3      
## [163] tinytex_0.17            transformr_0.1.1        tripack_1.3-8          
## [166] TSP_1.1-7               tuneR_1.3.3             tweenr_1.0.1           
## [169] units_0.6-5             utf8_1.1.4              vcd_1.4-4              
## [172] vctrs_0.2.0             vioplot_0.3.2           viridis_0.5.1          
## [175] viridisLite_0.3.0       webshot_0.5.1           withr_2.1.2            
## [178] xfun_0.11               xtable_1.8-5            yaml_2.2.0             
## [181] zeallot_0.1.0           zoo_1.8-7               boot_1.3-23            
## [184] class_7.3-15            cluster_2.1.0           codetools_0.2-16       
## [187] foreign_0.8-72          KernSmooth_2.23-16      lattice_0.20-38        
## [190] MASS_7.3-51.4           Matrix_1.2-17           mgcv_1.8-31            
## [193] nlme_3.1-142            nnet_7.3-12             rpart_4.1-15           
## [196] spatial_7.3-11          survival_3.1-7

致谢

本书写作过程中收到了不少读者反馈,在此一并致谢。感谢魏太云、Dazhi Jiang 和郑冰对本书文字的校对和建议;感谢赵彦云老师对本书书名和写作风格的建议;感谢李皞对写 lattice 系统和 rgl 包的提议;感谢李丰的彩蛋建议;感谢王晓伟、李承文、FreemanZY、agri521、annidy、Zhanwu Dai 耗费眼神帮我挑选了本书第一例彩蛋(图 3.5);感谢殷腾飞增加动态图形系统 GGobi 的建议;感谢方莹提供第 6 章的一些数据指引;本书部分小节的初稿内容来自一些朋友:王晓伟提供了 lattice 一节的初稿,邱怡轩提供 grid 和 rgl 两节的初稿,魏太云提供了《统计词话》的初稿,肖楠提供了 RgoogleMaps 一节的初稿。

最后,我要感谢我的父母和亲人们在 2008 年以来每个长假给我提供绝佳的写作环境,让我心无旁骛地写书;感谢吴喜之老师将 R 这套工具引入中国人民大学统计学院的课堂,以及王星老师在统计计算和非参数统计课堂上对 R 的介绍,没有他们的努力,我也许不会踏进 R 的大门;感谢我的硕士导师赵彦云老师在我的本硕学习期间给我的各种指导;感谢“统计之都”网站的会员们在 COS 论坛 上 S-Plus & R 版块和我的交流,他们的问题也使我意识到了图形知识的需求;感谢周筠老师和卢鸫翔编辑以及出版团队;感谢本书写作期间所有给我提供过帮助的人们。

参考文献

Xie, Yihui. 2015. Dynamic Documents with R and Knitr. 2nd ed. Boca Raton, Florida: Chapman; Hall/CRC. http://yihui.name/knitr/.

Xie, Yihui. 2016. Bookdown: Authoring Books and Technical Documents with R Markdown. Boca Raton, Florida: Chapman; Hall/CRC. https://github.com/rstudio/bookdown.

Xie, Yihui, J. J. Allaire, and Garrett Grolemund. 2018. R Markdown: The Definitive Guide. Boca Raton, Florida: Chapman; Hall/CRC. https://bookdown.org/yihui/rmarkdown.