-
Notifications
You must be signed in to change notification settings - Fork 13
/
chapter01.Rmd
89 lines (50 loc) · 4.15 KB
/
chapter01.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
---
title: "Advanced R 研讨"
subtitle: "第一章 简介"
author: "罗智超Rokia.org"
output:
pdf_document:
fig_caption: yes
keep_tex: yes
latex_engine: xelatex
toc: yes
header-includes:
- \usepackage{xeCJK}
---
# github地址
https://github.com/zhichaoluo/AdvancedR/blob/master/chapter01.Rmd
# 前言
感谢R语言社区,让我发现人世间居然有件兵器可以给自己终身修炼的动力,实乃人生幸事。AdvancedR就是我在练功过程中无意中发现的一本《易筋经》。爱不释手,字字珠玑。
市面上大部分有关R语言的书主要分为三类,一类是偏基础,一类偏概率统计(含数据挖掘、统计学习),另外一类是偏编程的。前面两类的汗牛充栋数量太大,就不推荐了。
- 最后一类的首推Hadley Wickham写的这本《Advanced R》;
- 第二本是John M. Chamber的 《Software for Data Analysis》,R 语言的前生S语言就是Chamber大大开发的,你说他的书能不看么?Chamber大大2016年新出的《ExtendingR》也是**强烈推荐**,书中详细介绍了R语言的底层技术,包括函数编程、面向对象编程以及扩展方面的内容,其中专门有一章介绍了R语言的前世今生。其实Chamber大大还有两本书非常有名,1988年的《The New S Language》(江湖人称the blue book),1991年的《Statistical Methods in S》(江湖人称the white book);
- 第三本是Norman Matloff的《the Art of R programming》,Matloff教授拿到的是统计学博士却在计算机系教书,计算机功底杠杠的,看他的书,你会发现他不会放过任何一个角落来优化每一段代码。Matloff还擅长并行计算研究,他还出版了一本《Parrallel Computing for data science, with example in R, C++ and CUDA》
- 第四本是Patrick Burns的《R Inferno》,教你如何绕坑而不掉进坑里。
- 最权威R官方资料网站:http://cran.r-project.org/doc/manuals/
为什么只推荐偏编程的书呢?个人感觉,无论哪种软件都是你手中的一件兵器,无论哪种兵器,你只有熟练掌握它,它才能为你所用,学习R语言如果不将底层的编程弄明白,就像练功不懂内功心法,也就只有依葫芦画瓢,摆摆架势了。另外,底层编程熟练后,在此基础上将新研究的统计模型、方法应用在业务领域更是一马平川。(预告:下个研讨内容An Introduction to Statistical Learning: with Application in R)
一直很反感充斥在市面上的一堆什么七天学会xx功夫的书籍,其实也不能怪这些书籍,练功者自己内心急躁,急功近利,自然会选择这样的书籍,有了需求,自然就有了供给。现在的小孩估计不看武侠小说,只打网游。我现在仍然清晰记得小李飞刀李寻欢**永不离手**的那把破旧的雕刻刀,虽然破旧平凡,但在百晓生兵器谱中排名第三。
“小李飞刀,例不虚发。刀光一闪,小李飞刀已发出,刀已插入他的咽喉,他瞪大眼睛,至死也不相信,没有人看清小李飞刀是如何出手的!”
古人云,天将降大任,必先冻心忍性。让我们用一学期的时间来好好研读《Advanced R》,打造我们手中的“小李飞刀”。
# 目标读者
- 想深入学习R并学习解决各种问题的新策略的中级R程序员
- 正在学习R,并想知道R为什么这样工作的其他语言的程序员
# 可以学到什么?
- 熟悉R的基础
- 理解函数式编程
- 掌握元编程
- 性能优化
- 理解大多数R代码
# 推荐阅读
- 《The Structure and Interpretation of Computer Programs》(SICP) by Harold Abelson, Gerald Jay Sussman
- 《Concepts, Techniques and Models of Computer Programming》 by Peter van Roy, Sef Haridi
- 《The Pragmatic Programmer》by Andrew Hunt, David Thomas
# 获取帮助
- http://stackoverflow.com
- http://github.com/hadley/adv-r
- 研讨组地址:http://github.com/zhichaoluo/AdvancedR
# 研讨组规则
- 三人行,必有我师
- 集体学习,集体讨论
- 欢迎提问,没有问题就有问题
- 必须参与练习,否则没有共鸣。
- 三次没有提交作业自动退出研讨组