欢迎

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

本书搬迁过程中更新、替换了原稿中的很多代码,现在与本书配套的 R 软件版本是 R version 4.1.0 (2021-05-18),我们同时也在 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 格式的书籍。

xfun::session_info(packages = c(
  "alphahull", "animation", "aplpack", "rmarkdown", "bookdown",
  "corrplot", "cowplot", "formatR", "fun",
  "GGally", "ggplot2", "igraph", 
  "magick", "maps", "maptools", "MSG", "mvtnorm",
  "pdftools", "plot3D", "plotrix",
  "randomForest", "rgeos", "rgl",
  "scatterplot3d", "showtext", "sna", "sp", "svglite",
  "TeachingDemos", "tikzDevice", "vcd", "vioplot"
))
## Warning in fun(libname, pkgname): no display name and no $DISPLAY environment
## variable
## Registered S3 method overwritten by 'GGally':
##   method from   
##   +.gg   ggplot2
## R version 4.1.0 (2021-05-18)
## Platform: x86_64-apple-darwin17.0 (64-bit)
## Running under: macOS Catalina 10.15.7
## 
## Locale: en_US.UTF-8 / en_US.UTF-8 / en_US.UTF-8 / C / en_US.UTF-8 / en_US.UTF-8
## 
## Package version:
##   abind_1.4.5             alphahull_2.2           animation_2.6          
##   aplpack_1.3.3           askpass_1.1             base64enc_0.1.3        
##   bookdown_0.22           bslib_0.2.5.1           cachem_1.0.5           
##   callr_3.7.0             cli_2.5.0               coda_0.19.4            
##   codetools_0.2.18        colorspace_2.0.1        commonmark_1.7         
##   compiler_4.1.0          corrplot_0.89           cowplot_1.1.1          
##   cpp11_0.2.7             crayon_1.4.1            crosstalk_1.1.1        
##   curl_4.3.1              deldir_0.2.10           digest_0.6.27          
##   dplyr_1.0.6             ellipsis_0.3.2          evaluate_0.14          
##   fansi_0.5.0             farver_2.1.0            fastmap_1.1.0          
##   filehash_2.4.2          forcats_0.5.1           foreign_0.8.81         
##   formatR_1.11            fs_1.5.0                fun_0.3                
##   generics_0.1.0          GGally_2.1.1            ggplot2_3.3.3          
##   glue_1.4.2              goftest_1.2.2           graphics_4.1.0         
##   grDevices_4.1.0         grid_4.1.0              gtable_0.3.0           
##   highr_0.9               hms_1.1.0               htmltools_0.5.1.1      
##   htmlwidgets_1.5.3       httpuv_1.6.1            igraph_1.2.6           
##   isoband_0.2.4           jquerylib_0.1.4         jsonlite_1.7.2         
##   knitr_1.33              labeling_0.4.2          later_1.2.0            
##   lattice_0.20.44         lazyeval_0.2.2          lifecycle_1.0.0        
##   lmtest_0.9.38           magick_2.7.2            magrittr_2.0.1         
##   manipulateWidget_0.11.0 maps_3.3.0              maptools_1.1.1         
##   markdown_1.1            MASS_7.3.54             Matrix_1.3.4           
##   methods_4.1.0           mgcv_1.8.36             mime_0.10              
##   miniUI_0.1.1.1          misc3d_0.9.0            MSG_0.6                
##   munsell_0.5.0           mvtnorm_1.1.2           network_1.17.0         
##   nlme_3.1.152            parallel_4.1.0          pdftools_3.0.1         
##   pillar_1.6.1            pkgconfig_2.0.3         plot3D_1.4             
##   plotrix_3.8.1           plyr_1.8.6              png_0.1.7              
##   polyclip_1.10.0         prettyunits_1.1.1       processx_3.5.2         
##   progress_1.2.2          promises_1.2.0.1        ps_1.6.0               
##   purrr_0.3.4             qpdf_1.1                R.methodsS3_1.8.1      
##   R.oo_1.24.0             R.utils_2.10.1          R6_2.5.0               
##   randomForest_4.6.14     rappdirs_0.3.3          RColorBrewer_1.1.2     
##   Rcpp_1.0.6              reshape_0.8.8           rgeos_0.5.5            
##   rgl_0.106.8             rlang_0.4.11            rmarkdown_2.8          
##   rpart_4.1.15            sass_0.4.0              scales_1.1.1           
##   scatterplot3d_0.3.41    sgeostat_1.0.27         shiny_1.6.0            
##   shinyjs_2.0.0           showtext_0.9-2          showtextdb_3.0         
##   sm_2.2.5.6              sna_2.6                 sourcetools_0.1.7      
##   sp_1.4.5                spatstat_2.1.0          spatstat.core_2.1.2    
##   spatstat.data_2.1.0     spatstat.geom_2.1.0     spatstat.linnet_2.1.1  
##   spatstat.sparse_2.0.0   spatstat.utils_2.1.0    splancs_2.1.42         
##   splines_4.1.0           statnet.common_4.5.0    stats_4.1.0            
##   stringi_1.6.2           stringr_1.4.0           svglite_2.0.0          
##   sys_3.4                 sysfonts_0.8.3          systemfonts_1.0.2      
##   tcltk_4.1.0             TeachingDemos_2.12      tensor_1.5             
##   tibble_3.1.2            tidyr_1.1.3             tidyselect_1.1.1       
##   tikzDevice_0.12.3.1     tinytex_0.32            tools_4.1.0            
##   tripack_1.3.9.1         utf8_1.2.1              utils_4.1.0            
##   vcd_1.4.8               vctrs_0.3.8             vioplot_0.3.6          
##   viridisLite_0.4.0       webshot_0.5.2           withr_2.4.2            
##   xfun_0.23               xtable_1.8.4            yaml_2.2.1             
##   zoo_1.8.9              
## 
## Pandoc version: 2.13

致谢

本书写作过程中收到了不少读者反馈,在此一并致谢。感谢魏太云、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 版块和我的交流,他们的问题也使我意识到了图形知识的需求;感谢周筠老师和卢鸫翔编辑以及出版团队;感谢本书写作期间所有给我提供过帮助的人们。

参考文献

———. 2015. Dynamic Documents with R and Knitr. 2nd ed. Boca Raton, Florida: Chapman; Hall/CRC. http://yihui.org/knitr/.
———. 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.