推荐图书
- 《R for Data Science》
- 《R 语言编程指南》
- 《R 实战》
- 其他推荐见:https://shixiangwang.gitee.io/geek-r-tutorial/expand-reading.html
R 编程基础
内容:
- 基础语法
- 控制与循环结构
- 函数与包
- 数据读取和保存
-
read.*
与write.*
-
load
与save
-
readRDS
与saveRDS
-
数据操作流程
- 放本小抄在身边,随时查阅
Tidyverse
数据导入
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
-
Tidy 数据格式
tibble
tribble
,enframe
as_tibble
,is_tibble
-
-
缺失值
drop_na
fill
replace_na
长转宽
pivot_wider
,spread
- 宽转长
pivot_longer
,gather
-
拓展表格
expand
complete
-
分割和连接
separate
separate_rows
unite
-
数据导出
write_*
data.table 与 base
- 数据导入
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