- 《R for Data Science》
- 《R 语言编程指南》
- 《R 实战》
- 其他推荐见:https://shixiangwang.gitee.io/geek-r-tutorial/expand-reading.html
内容:
- 基础语法
- 控制与循环结构
- 函数与包
- 数据读取和保存
read.*
与write.*
load
与save
readRDS
与saveRDS
- 放本小抄在身边,随时查阅
-
数据导入
read_*
-
管道
%>%
x %>% f(y)
>f(x, y)
-
筛选
- 行筛选
slice
,filter
,sample_n
,sample_frac
,top_n
,distinct
- 列筛选
select
contains
num_range
starts_with
ends_with
one_of
matches
- 排序
arrange
- 行筛选
-
行列增加/更新
mutate
,transmute
mutate_
add_row
add_column
rename
rownames_to_column
,column_to_rowname
- 向量化函数
- 基本的数学和比较逻辑运算符
+ - * / > < ==
- 偏移
dplyr::
lag
lead
- 聚合
dplyr::
cumall
cumany
cummax
cummean
cummin
cumprod
cumsum
- 排序
dplyr::
cume_dist
dense_rank
min_rank
ntile
percent_rank
row_number
- 其他
dplyr::
between
case_when
coalesce
if_else
na_if
pmax
pmin
recode
recode_factor
- 基本的数学和比较逻辑运算符
-
汇总
- 简单汇总
count
summarize
- 分组汇总
group_by
,ungroup
- 汇总函数
- 计数
dplyr::
n
n_distinct
base::sum(!is.na())
- 位置
mean
,meadian
- 逻辑值
mean
,sum
- 位置
dplyr::
first
last
nth
- 排序
quantile
min
max
- 分布
IQR
mad
sd
var
- 计数
- 简单汇总
-
合并
bind_rows
bind_cols
semi_join
anti_join
left_join
,right_join
,inner_join
,full_join
intersect
setdiff
union
setequal
辅助查看两个数据集是否相同(不管行序)
-
变异动词 (
_at
,_if
,_all
)filter_*
select_*
summarize_*
arrange_*
- ...
-
字符处理
substr
stringr
包与正则表达式略微复杂,可以单独讲一次
-
转换 tidyr
-
数据导出
write_*
- 数据导入
fread
- 数据导出
fwrite
- data.table 语法
dt[i, j, by]
- 数据过滤与合并等操作与 R 基础语法一致,也可以使用 tidyverse 处理
- 整数索引
- 逻辑索引
- 命名索引
- 进一步的学习参考小抄、文档和《R 语言编程指南》
- 正则表达式与字符串处理:
base
与stringr
- 列表处理与迭代计算:
purrr
- 统计建模:
stats
与broom
- 绘图:
graphics
与ggplot2
- 函数编程:
apply
家族和purrr
等
开发:
- devtools
- usethis
- testthat
- roxygen2 与 roxytest