数据工程讲义
前言
致谢
作者简介
1
写在前面
1.1
为什么写本书
1.2
如何使用本书
2
数据工程:重塑经济学研究的流程
2.1
人工智能时代的社会科学研究:机遇与挑战
2.1.1
社会科学的三圈分类
2.1.2
AI智能发展的三要素
2.1.3
AI对社会科学研究的冲击
2.1.4
AI为社会科学研究创造的机遇
2.2
数据工程与数据科学
2.2.1
数据工程的灵魂:数据流
2.2.2
数据工程的钥匙:数据结构
2.2.3
数据工程师的工具箱
2.3
数据工程的四个指导原则
2.3.1
可复现性原则
2.3.2
模块化与正交分解原则
2.3.3
最佳工具原则
2.3.4
一次原则
2.4
GNU 环境
2.4.1
POSIX
2.4.2
GNU
2.4.3
命令行
2.4.4
编辑器
2.5
版本控制
2.5.1
Git
2.5.2
Git的三种状态
2.5.3
Git仓库
2.5.4
Git命令实践
2.5.5
Git目前的局限性
3
R语言基础
3.1
R语言简介
3.2
R语言的特点
3.3
R与Rtudio的安装
3.3.1
安装R
3.3.2
R安装RStudio
3.3.3
组织R代码的三种方式
3.3.4
R代码的组成
3.4
R对文件和路径的相关操作
3.4.1
路径操作
3.4.2
文件操作
3.4.3
特殊路径
3.5
数据类型
3.5.1
数值型
3.5.2
逻辑型/布尔型
3.5.3
字符型
3.5.4
缺失值
3.5.5
数据类型判断与转换
3.5.6
运算
3.6
变量
3.7
数据结构
3.7.1
向量
3.7.2
因子
3.7.3
矩阵
3.7.4
数据框
3.7.5
列表
3.7.6
数据结构之间的转化
3.8
数据读写
3.8.1
csv文件
3.8.2
HDF5
3.8.3
XML
3.8.4
JSON
3.8.5
YAML
3.8.6
专用数据文件
3.9
流程控制
3.9.1
条件判断
3.9.2
循环
3.10
函数与包
3.10.1
函数的定义与调用
3.10.2
变量作用域
3.10.3
函数模块化
3.10.4
包
3.11
向量化
3.11.1
apply
3.11.2
lapply
3.11.3
sapply
3.11.4
vapply
3.11.5
mapply
3.11.6
其他
3.12
代码风格
4
文学式编程
4.1
什么是文学式编程
4.2
Markdown格式
4.2.1
标题
4.2.2
段落文本
4.2.3
表格
4.2.4
图片
4.2.5
代码块
4.2.6
数学公式
4.3
Rmarkdown
4.3.1
YAML头文件
4.3.2
代码块控制
4.3.3
Rmarkdown特殊语法
4.3.4
格式转换
4.4
Xaringan
4.4.1
安装与模板
4.4.2
其他学习资源
4.5
leanr
4.5.1
安装与模板
4.5.2
互动代码模块
4.5.3
测试题
4.6
bookdown、blogdown以及pagedown
4.7
Quarto
5
数据整理
5.1
整齐数据tidydata
5.1.1
分析单位(unit of analysis)
5.2
整齐数据
5.2.1
整齐数据的缘起
5.2.2
整齐数据的定义
5.2.3
数据的凌乱点
5.3
关系代数
5.4
SQL语言
5.4.1
MySQL
5.4.2
Postgresql
5.5
dplyr
5.5.1
集合运算
5.5.2
线性运算
5.5.3
管道
5.5.4
数据连接
5.5.5
数据分组与汇总
5.6
宽数据与长数据的转换
5.6.1
宽数据转长数据
5.6.2
长数据转宽数据
5.6.3
联系人数据表的案例
5.7
其他定制操作
5.7.1
排序
5.7.2
抽样
5.7.3
去重复
5.7.4
缺失值处理
5.7.5
拆分与合并数据列
5.7.6
合并数据
5.8
数据库的连接
5.9
data.table
6
数据可视化
6.1
从一个可以画恐龙的包说起
6.2
数据可视化的目的
6.3
图形语法(Grammar of Graphics)
6.4
ggplot2
6.4.1
ggplot2
几何对象
6.4.2
ggplot2
的美术属性
6.4.3
ggplot2
辅助
6.5
案例:DID结果的可视化
6.6
动图
6.7
大屏
6.7.1
交互式
7
回归
7.1
一般线性回归
7.1.1
基础模型
7.1.2
稳健性标准误
7.2
因果推断的反事实框架
7.2.1
定义因果关系
7.2.2
CEF三定理
7.2.3
交互项还是分组回归
7.3
匹配
7.3.1
原理
7.3.2
案例
7.4
工具变量
7.4.1
原理
7.4.2
案例
7.5
双重差分
7.5.1
原理
7.5.2
案例
7.6
断点回归
7.6.1
原理
7.6.2
案例
7.7
包含高维分类变量的回归
7.8
formula (公式)对象
7.8.1
公式的生成
7.8.2
生成公式的运算符
7.8.3
公式与字符串之间的转换
7.9
表达式expression
7.10
表达式的生成与执行
7.11
表达式与字符串的转换
7.12
使用stargazer输出表格
7.12.1
标准回归表
7.12.2
默认格式
7.12.3
表格表头
7.12.4
表格正文
7.12.5
添加变量信息
7.12.6
选择统计量
7.12.7
表格注释
7.12.8
整体布局
7.12.9
其他
7.12.10
描述性统计表
7.13
回归结果的可视化
7.13.1
使用ggcoefstats可视化回归结果
7.13.2
使用
7.13.3
双重差分模型的可视化
8
Python基础
8.1
Python简介
8.2
Python安装与Pycharm
8.2.1
安装
8.2.2
编辑器
8.3
变量
8.4
数据类型
8.4.1
类型转换
8.4.2
算术运算
8.4.3
布尔运算
8.4.4
字符串
8.4.5
字符串的替换
8.4.6
字符串的切片
8.4.7
标准字符串操作
8.5
标准输入输出
8.5.1
标准输入
8.5.2
命令执行
8.6
数据结构
8.6.1
列表
8.6.2
元组
8.6.3
字典
8.6.4
数据结构之间的转化
8.7
流程控制
8.7.1
条件判断
8.7.2
循环
8.8
函数与模块
8.8.1
批量调用
8.8.2
无名函数
8.8.3
函数文档
8.8.4
模块
8.9
数据读写与文件操作
8.9.1
读入文件
8.9.2
写出文件
8.9.3
with关键字
8.10
os模块
8.11
案例:获取高德地图地址信息
8.12
面向对象单独成一章
9
正则表达式
9.1
语法要素
9.1.1
元字符
9.1.2
重复
9.1.3
常用字符集
9.1.4
分组
9.1.5
非捕获组与断言
9.2
grep命令
9.3
sed命令
9.3.1
应用情景
9.3.2
文本替换
9.3.3
定位行
9.3.4
替代
9.4
awk命令
9.4.1
入门
9.5
R语言stringr包
9.5.1
stringr包
9.5.2
应用案例:wos数据分析
9.5.3
应用案例:数据合并与校对
9.6
Python的re模块
9.6.1
原生字符串
9.6.2
编译
9.6.3
匹配
9.6.4
分割
9.6.5
替换
9.6.6
命名组
10
命令行
10.1
命令的基本概念
10.1.1
常用命令
10.1.2
标准输入与输出
10.1.3
管道与进程管理
10.1.4
别名
10.1.5
脚本
10.1.6
传参
10.2
变量与数据结构
10.2.1
数组
10.2.2
字典
10.3
运算
10.4
控制流程
10.4.1
选择结构
10.4.2
循环
10.5
函数
10.6
bash内建正则表达式
10.7
应用案例
10.8
通配符
10.9
sed
10.10
awk
10.11
正则表达式
10.12
R的命令行选项
10.12.1
Linux/Unix Shebang
10.12.2
argparse包实例
10.13
关于命令行与IDE
11
网络数据采集
11.1
网络数据格式
11.1.1
CSV
11.1.2
XML
11.1.3
JSON
11.2
HTML
11.2.1
HTML的基本语法
11.2.2
常见HTML标签
11.2.3
DOM树形数据结构
11.3
CSS
11.3.1
CSS的基本语法
11.3.2
id选择器
11.3.3
类选择器
11.4
JavaScript
11.4.1
JavaScript案例
11.4.2
JavaScript的基本语法
11.4.3
AJAX
11.5
开发者工具
11.5.1
打开开发者工具
11.5.2
查看器与样式
11.5.3
其他功能
11.6
Xpath
11.6.1
基本查询
11.7
HTTP
11.7.1
HTTP常见方法
11.8
静态爬虫
11.9
使用RSelenium的动态爬虫
11.9.1
RSelenium简介与安装
11.9.2
安装Docker
11.9.3
RSelenum语法
11.9.4
案例1:在链家搜索并获取相关信息
11.9.5
案例2:登录豆瓣
12
地理计算
12.1
R中地理计算
12.2
地理数据结构
12.2.1
向量(Vector)
12.2.2
栅格(Raster)
12.2.3
坐标系(coordinate reference system)
12.3
地理数据操纵
12.4
地理数据可视化
12.5
地理数据运算
12.5.1
取子集
12.6
地理数据读写
12.7
地理数据计算
13
GUN Make的数据生产线
13.1
使用Make的必要性
13.2
数据流水线的构造目标
13.3
Make安装
13.4
快速上手make
13.5
make的工作方式
13.6
Makefile 的高级写法
13.6.1
特殊目标
13.6.2
使用变量
13.6.3
分支与循环结构
13.6.4
函数
13.7
Make的高级语法
13.7.1
并行计算
13.8
参考资料
14
图数据分析
附录
A
余音绕梁
参考文献
B
R日期时间
B.1
日期-时间数据类型
B.2
lubridate包
B.2.1
定义日期-时间变量
B.3
从日期-时间中取出元素
B.4
日期-时间取整
B.5
日期-时间的数学运算
B.5.1
时间长度
B.5.2
时间周期
B.5.3
时间区间
本书由 bookdown 强力驱动
数据工程讲义:经济学分册
A
余音绕梁
呐,到这里朕的书差不多写完了,但还有几句话要交待,所以开个附录,再啰嗦几句,各位客官稍安勿躁、扶稳坐好。