/r-ninja

R语言忍者秘笈

Primary LanguageCSS

R语言忍者秘笈

很久以前我就提议把COS论坛上的R语言历史问题整理一下,必可成为一本国产经典书籍,但我们一直没动手。一方面我没时间,另一方面我还在等一个合适的写作工具。现在,我还是没太多时间,也没等到工具,所以我只好自己发明了一个工具,就是knitr,自己的工具必然顺手,比那狗血的Sweave灵活很多,它也顺便和GitHub/markdown一起解决了时间稀缺的问题,因为我不必找一大块时间来专注写作,只要我有几分钟时间,我就可以打开记事本写几行,反正GIT可以离线工作,markdown写起来也超级简单,跟写日志似的。最终“压倒骆驼的那根稻草”其实是pandoc,我埋头研究了几天之后决定,以后写东西尽量避免LaTeX,因为有pandoc在,大多数文档格式都不成问题了,我可以从md转HTML,也可以转Word,或LaTeX。LaTeX说让用户专注写作,不管格式,作为有八年经验的LaTeX用户,我认为这是LaTeX最大的谎言,劳资天天在忧心那图片是否浮动有没有?!

所以,我们用markdown写,完稿再排版。knitr使得我们只需要关注源代码,不用管输出,所有输出都是通过运行代码而得到的,这是文学化编程的**。没有复制没有粘贴,一切自动化。本书离完成尚有很长一段距离,目前的书稿可以在https://bookdown.org/yihui/r-ninja/预览。

那么这本书的内容写什么?一个不完整大纲:

  1. 安装R
  2. 编辑器
    • RStudio
    • Emacs
  3. 数据结构
    • 向量,向量化运算
  4. 文本数据
    • 编码问题
    • 正则表达式
  5. OO特征
    • S3, S4, reference classes
  6. 图形
  7. 网络数据
    • download.files
    • XML
    • RCurl
    • 社会网络分析
      • 微博
      • 人人
  8. 统计模型
  9. 数据库
  10. 数据挖掘
  11. 自动化报告
  12. 高性能计算
  13. 程序包
    • 嵌C代码
    • 嵌Rcpp代码
    • roxygen(2)写文档
    • Profiling
    • 单元测试
  14. Linux
  15. 版本控制
    • GIT
    • GitHub
  16. Web编程
    • rApache
    • Rserve
    • Rook

希望大家可以想一些更有创意的标题,比如圣斗士体,“死斗!显式循环炼狱之卷”,“集合!分布式与并行计算之卷”,或火影体,等等。

本库中所有内容遵守CC BY-NC-SA 3.0协议,请君自重,别没事儿拿去传个什么新浪爱问百度文库以及XX经济论坛。有问题请到Issues里面报告。