-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathrw.html
569 lines (528 loc) · 41.9 KB
/
rw.html
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
<!DOCTYPE html>
<html lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>第 4 章 数据读写 | 数据工程讲义:经济学分册</title>
<meta name="description" content="适用于数据工程与数据科学课程的教材。" />
<meta name="generator" content="bookdown 0.24.4 and GitBook 2.6.7" />
<meta property="og:title" content="第 4 章 数据读写 | 数据工程讲义:经济学分册" />
<meta property="og:type" content="book" />
<meta property="og:description" content="适用于数据工程与数据科学课程的教材。" />
<meta name="github-repo" content="yihui/bookdown-chinese" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="第 4 章 数据读写 | 数据工程讲义:经济学分册" />
<meta name="twitter:description" content="适用于数据工程与数据科学课程的教材。" />
<meta name="author" content="史冬波 续本达" />
<meta name="date" content="2022-06-05" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<link rel="prev" href="basic.html"/>
<link rel="next" href="md.html"/>
<script src="libs/header-attrs-2.11/header-attrs.js"></script>
<script src="libs/jquery-3.6.0/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/fuse.min.js"></script>
<link href="libs/gitbook-2.6.7/css/style.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-table.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-bookdown.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-highlight.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-search.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-fontsettings.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-clipboard.css" rel="stylesheet" />
<link href="libs/anchor-sections-1.0.1/anchor-sections.css" rel="stylesheet" />
<script src="libs/anchor-sections-1.0.1/anchor-sections.js"></script>
<script src="libs/htmlwidgets-1.5.4/htmlwidgets.js"></script>
<script src="libs/viz-1.8.2/viz.js"></script>
<link href="libs/DiagrammeR-styles-0.2/styles.css" rel="stylesheet" />
<script src="libs/grViz-binding-1.0.6.1/grViz.js"></script>
<style type="text/css">
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
pre.numberSource code > span
{ position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
{ content: counter(source-line);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
color: #aaaaaa;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
div.sourceCode
{ }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #7d9029; } /* Attribute */
code span.bn { color: #40a070; } /* BaseN */
code span.bu { } /* BuiltIn */
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4070a0; } /* Char */
code span.cn { color: #880000; } /* Constant */
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
code span.dt { color: #902000; } /* DataType */
code span.dv { color: #40a070; } /* DecVal */
code span.er { color: #ff0000; font-weight: bold; } /* Error */
code span.ex { } /* Extension */
code span.fl { color: #40a070; } /* Float */
code span.fu { color: #06287e; } /* Function */
code span.im { } /* Import */
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
code span.op { color: #666666; } /* Operator */
code span.ot { color: #007020; } /* Other */
code span.pp { color: #bc7a00; } /* Preprocessor */
code span.sc { color: #4070a0; } /* SpecialChar */
code span.ss { color: #bb6688; } /* SpecialString */
code span.st { color: #4070a0; } /* String */
code span.va { color: #19177c; } /* Variable */
code span.vs { color: #4070a0; } /* VerbatimString */
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
</style>
<style type="text/css">
/* Used with Pandoc 2.11+ new --citeproc when CSL is used */
div.csl-bib-body { }
div.csl-entry {
clear: both;
}
.hanging div.csl-entry {
margin-left:2em;
text-indent:-2em;
}
div.csl-left-margin {
min-width:2em;
float:left;
}
div.csl-right-inline {
margin-left:2em;
padding-left:1em;
}
div.csl-indent {
margin-left: 2em;
}
</style>
<link rel="stylesheet" href="css/style.css" type="text/css" />
</head>
<body>
<div class="book without-animation with-summary font-size-2 font-family-1" data-basepath=".">
<div class="book-summary">
<nav role="navigation">
<ul class="summary">
<li><a href="./">数据工程讲义</a></li>
<li class="divider"></li>
<li class="chapter" data-level="" data-path="index.html"><a href="index.html"><i class="fa fa-check"></i>前言</a>
<ul>
<li class="chapter" data-level="" data-path="index.html"><a href="index.html#致谢"><i class="fa fa-check"></i>致谢</a></li>
</ul></li>
<li class="chapter" data-level="" data-path="author.html"><a href="author.html"><i class="fa fa-check"></i>作者简介</a></li>
<li class="chapter" data-level="1" data-path="intro.html"><a href="intro.html"><i class="fa fa-check"></i><b>1</b> 写在前面</a>
<ul>
<li class="chapter" data-level="1.1" data-path="intro.html"><a href="intro.html#为什么写本书"><i class="fa fa-check"></i><b>1.1</b> 为什么写本书</a></li>
<li class="chapter" data-level="1.2" data-path="intro.html"><a href="intro.html#如何使用本书"><i class="fa fa-check"></i><b>1.2</b> 如何使用本书</a></li>
</ul></li>
<li class="chapter" data-level="2" data-path="flow.html"><a href="flow.html"><i class="fa fa-check"></i><b>2</b> 数据工程:重塑经济学研究的流程</a>
<ul>
<li class="chapter" data-level="2.1" data-path="flow.html"><a href="flow.html#人工智能时代的社会科学研究机遇与挑战"><i class="fa fa-check"></i><b>2.1</b> 人工智能时代的社会科学研究:机遇与挑战</a>
<ul>
<li class="chapter" data-level="2.1.1" data-path="flow.html"><a href="flow.html#社会科学的三圈分类"><i class="fa fa-check"></i><b>2.1.1</b> 社会科学的三圈分类</a></li>
<li class="chapter" data-level="2.1.2" data-path="flow.html"><a href="flow.html#ai智能发展的三要素"><i class="fa fa-check"></i><b>2.1.2</b> AI智能发展的三要素</a></li>
<li class="chapter" data-level="2.1.3" data-path="flow.html"><a href="flow.html#ai对社会科学研究的冲击"><i class="fa fa-check"></i><b>2.1.3</b> AI对社会科学研究的冲击</a></li>
</ul></li>
<li class="chapter" data-level="2.2" data-path="flow.html"><a href="flow.html#ai为社会科学研究创造的机遇"><i class="fa fa-check"></i><b>2.2</b> AI为社会科学研究创造的机遇</a>
<ul>
<li class="chapter" data-level="2.2.1" data-path="flow.html"><a href="flow.html#给研究范式带来的机遇"><i class="fa fa-check"></i><b>2.2.1</b> 给研究范式带来的机遇</a></li>
<li class="chapter" data-level="2.2.2" data-path="flow.html"><a href="flow.html#作为研究对象带来的新的研究议题这些议题但不局限在"><i class="fa fa-check"></i><b>2.2.2</b> 作为研究对象带来的新的研究议题,这些议题但不局限在:</a></li>
<li class="chapter" data-level="2.2.3" data-path="flow.html"><a href="flow.html#ai也没有解决多少问题"><i class="fa fa-check"></i><b>2.2.3</b> AI也没有解决多少问题</a></li>
</ul></li>
<li class="chapter" data-level="2.3" data-path="flow.html"><a href="flow.html#数据工程与数据科学"><i class="fa fa-check"></i><b>2.3</b> 数据工程与数据科学</a>
<ul>
<li class="chapter" data-level="2.3.1" data-path="flow.html"><a href="flow.html#数据工程的灵魂数据流"><i class="fa fa-check"></i><b>2.3.1</b> 数据工程的灵魂:数据流</a></li>
<li class="chapter" data-level="2.3.2" data-path="flow.html"><a href="flow.html#数据工程的钥匙数据结构"><i class="fa fa-check"></i><b>2.3.2</b> 数据工程的钥匙:数据结构</a></li>
</ul></li>
<li class="chapter" data-level="2.4" data-path="flow.html"><a href="flow.html#数据工程的四个指导原则"><i class="fa fa-check"></i><b>2.4</b> 数据工程的四个指导原则</a>
<ul>
<li class="chapter" data-level="2.4.1" data-path="flow.html"><a href="flow.html#可复现性原则"><i class="fa fa-check"></i><b>2.4.1</b> 可复现性原则</a></li>
<li class="chapter" data-level="2.4.2" data-path="flow.html"><a href="flow.html#模块化与正交分解原则"><i class="fa fa-check"></i><b>2.4.2</b> 模块化与正交分解原则</a></li>
<li class="chapter" data-level="2.4.3" data-path="flow.html"><a href="flow.html#最佳工具原则"><i class="fa fa-check"></i><b>2.4.3</b> 最佳工具原则</a></li>
<li class="chapter" data-level="2.4.4" data-path="flow.html"><a href="flow.html#一次原则"><i class="fa fa-check"></i><b>2.4.4</b> 一次原则</a></li>
</ul></li>
<li class="chapter" data-level="2.5" data-path="flow.html"><a href="flow.html#数据工程师的工具箱"><i class="fa fa-check"></i><b>2.5</b> 数据工程师的工具箱</a></li>
</ul></li>
<li class="chapter" data-level="3" data-path="basic.html"><a href="basic.html"><i class="fa fa-check"></i><b>3</b> R编程基础</a>
<ul>
<li class="chapter" data-level="3.1" data-path="basic.html"><a href="basic.html#r语言简介"><i class="fa fa-check"></i><b>3.1</b> R语言简介</a>
<ul>
<li class="chapter" data-level="3.1.1" data-path="basic.html"><a href="basic.html#r语言是"><i class="fa fa-check"></i><b>3.1.1</b> R语言是</a></li>
</ul></li>
<li class="chapter" data-level="3.2" data-path="basic.html"><a href="basic.html#r与rtudio的安装"><i class="fa fa-check"></i><b>3.2</b> R与Rtudio的安装</a></li>
<li class="chapter" data-level="3.3" data-path="basic.html"><a href="basic.html#r对文件和路径的相关操作"><i class="fa fa-check"></i><b>3.3</b> R对文件和路径的相关操作</a>
<ul>
<li class="chapter" data-level="3.3.1" data-path="basic.html"><a href="basic.html#路径操作"><i class="fa fa-check"></i><b>3.3.1</b> 路径操作</a></li>
<li class="chapter" data-level="3.3.2" data-path="basic.html"><a href="basic.html#文件操作"><i class="fa fa-check"></i><b>3.3.2</b> 文件操作</a></li>
<li class="chapter" data-level="3.3.3" data-path="basic.html"><a href="basic.html#特殊路径"><i class="fa fa-check"></i><b>3.3.3</b> 特殊路径</a></li>
</ul></li>
<li class="chapter" data-level="3.4" data-path="basic.html"><a href="basic.html#代码风格"><i class="fa fa-check"></i><b>3.4</b> 代码风格</a></li>
</ul></li>
<li class="chapter" data-level="4" data-path="rw.html"><a href="rw.html"><i class="fa fa-check"></i><b>4</b> 数据读写</a>
<ul>
<li class="chapter" data-level="4.1" data-path="rw.html"><a href="rw.html#数据文件类型"><i class="fa fa-check"></i><b>4.1</b> 数据文件类型</a>
<ul>
<li class="chapter" data-level="4.1.1" data-path="rw.html"><a href="rw.html#hdf5"><i class="fa fa-check"></i><b>4.1.1</b> HDF5</a></li>
</ul></li>
</ul></li>
<li class="chapter" data-level="5" data-path="md.html"><a href="md.html"><i class="fa fa-check"></i><b>5</b> 文学式编程</a>
<ul>
<li class="chapter" data-level="5.1" data-path="md.html"><a href="md.html#什么是文学式编程"><i class="fa fa-check"></i><b>5.1</b> 什么是文学式编程</a></li>
<li class="chapter" data-level="5.2" data-path="md.html"><a href="md.html#文学式编程的应用"><i class="fa fa-check"></i><b>5.2</b> 文学式编程的应用</a></li>
</ul></li>
<li class="chapter" data-level="6" data-path="manipulate.html"><a href="manipulate.html"><i class="fa fa-check"></i><b>6</b> 数据操纵</a>
<ul>
<li class="chapter" data-level="6.1" data-path="manipulate.html"><a href="manipulate.html#整洁数据tidydata"><i class="fa fa-check"></i><b>6.1</b> 整洁数据tidydata</a>
<ul>
<li class="chapter" data-level="6.1.1" data-path="manipulate.html"><a href="manipulate.html#分析单位unit-of-analysis"><i class="fa fa-check"></i><b>6.1.1</b> 分析单位(unit of analysis)</a></li>
</ul></li>
<li class="chapter" data-level="6.2" data-path="manipulate.html"><a href="manipulate.html#整齐数据"><i class="fa fa-check"></i><b>6.2</b> 整齐数据</a>
<ul>
<li class="chapter" data-level="6.2.1" data-path="manipulate.html"><a href="manipulate.html#整齐数据的缘起"><i class="fa fa-check"></i><b>6.2.1</b> 整齐数据的缘起</a></li>
<li class="chapter" data-level="6.2.2" data-path="manipulate.html"><a href="manipulate.html#整齐数据的定义"><i class="fa fa-check"></i><b>6.2.2</b> 整齐数据的定义</a></li>
<li class="chapter" data-level="6.2.3" data-path="manipulate.html"><a href="manipulate.html#数据的凌乱点"><i class="fa fa-check"></i><b>6.2.3</b> 数据的凌乱点</a></li>
</ul></li>
<li class="chapter" data-level="6.3" data-path="manipulate.html"><a href="manipulate.html#数据操纵案例"><i class="fa fa-check"></i><b>6.3</b> 数据操纵案例</a></li>
</ul></li>
<li class="chapter" data-level="7" data-path="visu.html"><a href="visu.html"><i class="fa fa-check"></i><b>7</b> 数据可视化</a>
<ul>
<li class="chapter" data-level="7.1" data-path="visu.html"><a href="visu.html#从一个可以画恐龙的包说起"><i class="fa fa-check"></i><b>7.1</b> 从一个可以画恐龙的包说起</a></li>
<li class="chapter" data-level="7.2" data-path="visu.html"><a href="visu.html#调色板"><i class="fa fa-check"></i><b>7.2</b> 调色板</a></li>
</ul></li>
<li class="chapter" data-level="8" data-path="reg.html"><a href="reg.html"><i class="fa fa-check"></i><b>8</b> 回归</a>
<ul>
<li class="chapter" data-level="8.1" data-path="reg.html"><a href="reg.html#一般线性回归"><i class="fa fa-check"></i><b>8.1</b> 一般线性回归</a>
<ul>
<li class="chapter" data-level="8.1.1" data-path="reg.html"><a href="reg.html#基础模型"><i class="fa fa-check"></i><b>8.1.1</b> 基础模型</a></li>
<li class="chapter" data-level="8.1.2" data-path="reg.html"><a href="reg.html#稳健性标准误"><i class="fa fa-check"></i><b>8.1.2</b> 稳健性标准误</a></li>
</ul></li>
<li class="chapter" data-level="8.2" data-path="reg.html"><a href="reg.html#因果推断的反事实框架"><i class="fa fa-check"></i><b>8.2</b> 因果推断的反事实框架</a>
<ul>
<li class="chapter" data-level="8.2.1" data-path="reg.html"><a href="reg.html#定义因果关系"><i class="fa fa-check"></i><b>8.2.1</b> 定义因果关系</a></li>
<li class="chapter" data-level="8.2.2" data-path="reg.html"><a href="reg.html#cef三定理"><i class="fa fa-check"></i><b>8.2.2</b> CEF三定理</a></li>
<li class="chapter" data-level="8.2.3" data-path="reg.html"><a href="reg.html#交互项还是分组回归"><i class="fa fa-check"></i><b>8.2.3</b> 交互项还是分组回归</a></li>
</ul></li>
<li class="chapter" data-level="8.3" data-path="reg.html"><a href="reg.html#匹配"><i class="fa fa-check"></i><b>8.3</b> 匹配</a>
<ul>
<li class="chapter" data-level="8.3.1" data-path="reg.html"><a href="reg.html#原理"><i class="fa fa-check"></i><b>8.3.1</b> 原理</a></li>
<li class="chapter" data-level="8.3.2" data-path="reg.html"><a href="reg.html#案例"><i class="fa fa-check"></i><b>8.3.2</b> 案例</a></li>
</ul></li>
<li class="chapter" data-level="8.4" data-path="reg.html"><a href="reg.html#工具变量"><i class="fa fa-check"></i><b>8.4</b> 工具变量</a>
<ul>
<li class="chapter" data-level="8.4.1" data-path="reg.html"><a href="reg.html#原理-1"><i class="fa fa-check"></i><b>8.4.1</b> 原理</a></li>
<li class="chapter" data-level="8.4.2" data-path="reg.html"><a href="reg.html#案例-1"><i class="fa fa-check"></i><b>8.4.2</b> 案例</a></li>
</ul></li>
<li class="chapter" data-level="8.5" data-path="reg.html"><a href="reg.html#双重差分"><i class="fa fa-check"></i><b>8.5</b> 双重差分</a>
<ul>
<li class="chapter" data-level="8.5.1" data-path="reg.html"><a href="reg.html#原理-2"><i class="fa fa-check"></i><b>8.5.1</b> 原理</a></li>
<li class="chapter" data-level="8.5.2" data-path="reg.html"><a href="reg.html#案例-2"><i class="fa fa-check"></i><b>8.5.2</b> 案例</a></li>
</ul></li>
<li class="chapter" data-level="8.6" data-path="reg.html"><a href="reg.html#断点回归"><i class="fa fa-check"></i><b>8.6</b> 断点回归</a>
<ul>
<li class="chapter" data-level="8.6.1" data-path="reg.html"><a href="reg.html#原理-3"><i class="fa fa-check"></i><b>8.6.1</b> 原理</a></li>
<li class="chapter" data-level="8.6.2" data-path="reg.html"><a href="reg.html#案例-3"><i class="fa fa-check"></i><b>8.6.2</b> 案例</a></li>
<li class="chapter" data-level="8.6.3" data-path="reg.html"><a href="reg.html#其他乱七八糟的方法"><i class="fa fa-check"></i><b>8.6.3</b> 其他乱七八糟的方法</a></li>
</ul></li>
<li class="chapter" data-level="8.7" data-path="reg.html"><a href="reg.html#formula-公式对象"><i class="fa fa-check"></i><b>8.7</b> formula (公式)对象</a>
<ul>
<li class="chapter" data-level="8.7.1" data-path="reg.html"><a href="reg.html#公式的生成"><i class="fa fa-check"></i><b>8.7.1</b> 公式的生成</a></li>
<li class="chapter" data-level="8.7.2" data-path="reg.html"><a href="reg.html#生成公式的运算符"><i class="fa fa-check"></i><b>8.7.2</b> 生成公式的运算符</a></li>
<li class="chapter" data-level="8.7.3" data-path="reg.html"><a href="reg.html#公式与字符串之间的转换"><i class="fa fa-check"></i><b>8.7.3</b> 公式与字符串之间的转换</a></li>
</ul></li>
<li class="chapter" data-level="8.8" data-path="reg.html"><a href="reg.html#表达式expression"><i class="fa fa-check"></i><b>8.8</b> 表达式expression</a></li>
<li class="chapter" data-level="8.9" data-path="reg.html"><a href="reg.html#表达式的生成与执行"><i class="fa fa-check"></i><b>8.9</b> 表达式的生成与执行</a></li>
<li class="chapter" data-level="8.10" data-path="reg.html"><a href="reg.html#表达式与字符串的转换"><i class="fa fa-check"></i><b>8.10</b> 表达式与字符串的转换</a></li>
<li class="chapter" data-level="8.11" data-path="reg.html"><a href="reg.html#使用stargazer输出表格"><i class="fa fa-check"></i><b>8.11</b> 使用stargazer输出表格</a>
<ul>
<li class="chapter" data-level="8.11.1" data-path="reg.html"><a href="reg.html#标准回归表"><i class="fa fa-check"></i><b>8.11.1</b> 标准回归表</a></li>
<li class="chapter" data-level="8.11.2" data-path="reg.html"><a href="reg.html#默认格式"><i class="fa fa-check"></i><b>8.11.2</b> 默认格式</a></li>
<li class="chapter" data-level="8.11.3" data-path="reg.html"><a href="reg.html#表格表头"><i class="fa fa-check"></i><b>8.11.3</b> 表格表头</a></li>
<li class="chapter" data-level="8.11.4" data-path="reg.html"><a href="reg.html#表格正文"><i class="fa fa-check"></i><b>8.11.4</b> 表格正文</a></li>
<li class="chapter" data-level="8.11.5" data-path="reg.html"><a href="reg.html#添加变量信息"><i class="fa fa-check"></i><b>8.11.5</b> 添加变量信息</a></li>
<li class="chapter" data-level="8.11.6" data-path="reg.html"><a href="reg.html#选择统计量"><i class="fa fa-check"></i><b>8.11.6</b> 选择统计量</a></li>
<li class="chapter" data-level="8.11.7" data-path="reg.html"><a href="reg.html#表格注释"><i class="fa fa-check"></i><b>8.11.7</b> 表格注释</a></li>
<li class="chapter" data-level="8.11.8" data-path="reg.html"><a href="reg.html#整体布局"><i class="fa fa-check"></i><b>8.11.8</b> 整体布局</a></li>
<li class="chapter" data-level="8.11.9" data-path="reg.html"><a href="reg.html#其他"><i class="fa fa-check"></i><b>8.11.9</b> 其他</a></li>
<li class="chapter" data-level="8.11.10" data-path="reg.html"><a href="reg.html#描述性统计表"><i class="fa fa-check"></i><b>8.11.10</b> 描述性统计表</a></li>
</ul></li>
<li class="chapter" data-level="8.12" data-path="reg.html"><a href="reg.html#回归结果的可视化"><i class="fa fa-check"></i><b>8.12</b> 回归结果的可视化</a>
<ul>
<li class="chapter" data-level="8.12.1" data-path="reg.html"><a href="reg.html#使用ggcoefstats可视化回归结果"><i class="fa fa-check"></i><b>8.12.1</b> 使用ggcoefstats可视化回归结果</a></li>
<li class="chapter" data-level="8.12.2" data-path="reg.html"><a href="reg.html#使用"><i class="fa fa-check"></i><b>8.12.2</b> 使用</a></li>
<li class="chapter" data-level="8.12.3" data-path="reg.html"><a href="reg.html#双重差分模型的可视化"><i class="fa fa-check"></i><b>8.12.3</b> 双重差分模型的可视化</a></li>
</ul></li>
</ul></li>
<li class="chapter" data-level="9" data-path="cml.html"><a href="cml.html"><i class="fa fa-check"></i><b>9</b> 命令行</a>
<ul>
<li class="chapter" data-level="9.1" data-path="cml.html"><a href="cml.html#命令的基本概念"><i class="fa fa-check"></i><b>9.1</b> 命令的基本概念</a></li>
<li class="chapter" data-level="9.2" data-path="cml.html"><a href="cml.html#通配符"><i class="fa fa-check"></i><b>9.2</b> 通配符</a></li>
<li class="chapter" data-level="9.3" data-path="cml.html"><a href="cml.html#正则表达式"><i class="fa fa-check"></i><b>9.3</b> 正则表达式</a></li>
<li class="chapter" data-level="9.4" data-path="cml.html"><a href="cml.html#r的命令行选项"><i class="fa fa-check"></i><b>9.4</b> R的命令行选项</a>
<ul>
<li class="chapter" data-level="9.4.1" data-path="cml.html"><a href="cml.html#linuxunix-shebang"><i class="fa fa-check"></i><b>9.4.1</b> Linux/Unix Shebang</a></li>
<li class="chapter" data-level="9.4.2" data-path="cml.html"><a href="cml.html#argparse包实例"><i class="fa fa-check"></i><b>9.4.2</b> argparse包实例</a></li>
</ul></li>
</ul></li>
<li class="chapter" data-level="10" data-path="web.html"><a href="web.html"><i class="fa fa-check"></i><b>10</b> 网络数据采集</a>
<ul>
<li class="chapter" data-level="10.1" data-path="web.html"><a href="web.html#网络数据格式"><i class="fa fa-check"></i><b>10.1</b> 网络数据格式</a>
<ul>
<li class="chapter" data-level="10.1.1" data-path="web.html"><a href="web.html#csv"><i class="fa fa-check"></i><b>10.1.1</b> CSV</a></li>
<li class="chapter" data-level="10.1.2" data-path="web.html"><a href="web.html#xml"><i class="fa fa-check"></i><b>10.1.2</b> XML</a></li>
<li class="chapter" data-level="10.1.3" data-path="web.html"><a href="web.html#json"><i class="fa fa-check"></i><b>10.1.3</b> JSON</a></li>
</ul></li>
<li class="chapter" data-level="10.2" data-path="web.html"><a href="web.html#html"><i class="fa fa-check"></i><b>10.2</b> HTML</a>
<ul>
<li class="chapter" data-level="10.2.1" data-path="web.html"><a href="web.html#html的基本语法"><i class="fa fa-check"></i><b>10.2.1</b> HTML的基本语法</a></li>
<li class="chapter" data-level="10.2.2" data-path="web.html"><a href="web.html#常见html标签"><i class="fa fa-check"></i><b>10.2.2</b> 常见HTML标签</a></li>
<li class="chapter" data-level="10.2.3" data-path="web.html"><a href="web.html#dom树形数据结构"><i class="fa fa-check"></i><b>10.2.3</b> DOM树形数据结构</a></li>
</ul></li>
<li class="chapter" data-level="10.3" data-path="web.html"><a href="web.html#css"><i class="fa fa-check"></i><b>10.3</b> CSS</a>
<ul>
<li class="chapter" data-level="10.3.1" data-path="web.html"><a href="web.html#css的基本语法"><i class="fa fa-check"></i><b>10.3.1</b> CSS的基本语法</a></li>
<li class="chapter" data-level="10.3.2" data-path="web.html"><a href="web.html#id选择器"><i class="fa fa-check"></i><b>10.3.2</b> id选择器</a></li>
<li class="chapter" data-level="10.3.3" data-path="web.html"><a href="web.html#类选择器"><i class="fa fa-check"></i><b>10.3.3</b> 类选择器</a></li>
</ul></li>
<li class="chapter" data-level="10.4" data-path="web.html"><a href="web.html#javascript"><i class="fa fa-check"></i><b>10.4</b> JavaScript</a>
<ul>
<li class="chapter" data-level="10.4.1" data-path="web.html"><a href="web.html#javascript案例"><i class="fa fa-check"></i><b>10.4.1</b> JavaScript案例</a></li>
<li class="chapter" data-level="10.4.2" data-path="web.html"><a href="web.html#javascript的基本语法"><i class="fa fa-check"></i><b>10.4.2</b> JavaScript的基本语法</a></li>
<li class="chapter" data-level="10.4.3" data-path="web.html"><a href="web.html#ajax"><i class="fa fa-check"></i><b>10.4.3</b> AJAX</a></li>
</ul></li>
<li class="chapter" data-level="10.5" data-path="web.html"><a href="web.html#开发者工具"><i class="fa fa-check"></i><b>10.5</b> 开发者工具</a>
<ul>
<li class="chapter" data-level="10.5.1" data-path="web.html"><a href="web.html#打开开发者工具"><i class="fa fa-check"></i><b>10.5.1</b> 打开开发者工具</a></li>
<li class="chapter" data-level="10.5.2" data-path="web.html"><a href="web.html#查看器与样式"><i class="fa fa-check"></i><b>10.5.2</b> 查看器与样式</a></li>
<li class="chapter" data-level="10.5.3" data-path="web.html"><a href="web.html#其他功能"><i class="fa fa-check"></i><b>10.5.3</b> 其他功能</a></li>
</ul></li>
<li class="chapter" data-level="10.6" data-path="web.html"><a href="web.html#xpath"><i class="fa fa-check"></i><b>10.6</b> Xpath</a>
<ul>
<li class="chapter" data-level="10.6.1" data-path="web.html"><a href="web.html#基本查询"><i class="fa fa-check"></i><b>10.6.1</b> 基本查询</a></li>
</ul></li>
<li class="chapter" data-level="10.7" data-path="web.html"><a href="web.html#http"><i class="fa fa-check"></i><b>10.7</b> HTTP</a>
<ul>
<li class="chapter" data-level="10.7.1" data-path="web.html"><a href="web.html#http常见方法"><i class="fa fa-check"></i><b>10.7.1</b> HTTP常见方法</a></li>
</ul></li>
<li class="chapter" data-level="10.8" data-path="web.html"><a href="web.html#静态爬虫"><i class="fa fa-check"></i><b>10.8</b> 静态爬虫</a></li>
<li class="chapter" data-level="10.9" data-path="web.html"><a href="web.html#使用rselenium的动态爬虫"><i class="fa fa-check"></i><b>10.9</b> 使用RSelenium的动态爬虫</a>
<ul>
<li class="chapter" data-level="10.9.1" data-path="web.html"><a href="web.html#rselenium简介与安装"><i class="fa fa-check"></i><b>10.9.1</b> RSelenium简介与安装</a></li>
<li class="chapter" data-level="10.9.2" data-path="web.html"><a href="web.html#安装docker"><i class="fa fa-check"></i><b>10.9.2</b> 安装Docker</a></li>
<li class="chapter" data-level="10.9.3" data-path="web.html"><a href="web.html#rselenum语法"><i class="fa fa-check"></i><b>10.9.3</b> RSelenum语法</a></li>
<li class="chapter" data-level="10.9.4" data-path="web.html"><a href="web.html#案例1在链家搜索并获取相关信息"><i class="fa fa-check"></i><b>10.9.4</b> 案例1:在链家搜索并获取相关信息</a></li>
<li class="chapter" data-level="10.9.5" data-path="web.html"><a href="web.html#案例2登录豆瓣"><i class="fa fa-check"></i><b>10.9.5</b> 案例2:登录豆瓣</a></li>
</ul></li>
</ul></li>
<li class="chapter" data-level="11" data-path="geo.html"><a href="geo.html"><i class="fa fa-check"></i><b>11</b> 地理计算</a>
<ul>
<li class="chapter" data-level="11.1" data-path="geo.html"><a href="geo.html#r中地理计算"><i class="fa fa-check"></i><b>11.1</b> R中地理计算</a></li>
<li class="chapter" data-level="11.2" data-path="geo.html"><a href="geo.html#地理数据结构"><i class="fa fa-check"></i><b>11.2</b> 地理数据结构</a>
<ul>
<li class="chapter" data-level="11.2.1" data-path="geo.html"><a href="geo.html#向量vector"><i class="fa fa-check"></i><b>11.2.1</b> 向量(Vector)</a></li>
<li class="chapter" data-level="11.2.2" data-path="geo.html"><a href="geo.html#栅格raster"><i class="fa fa-check"></i><b>11.2.2</b> 栅格(Raster)</a></li>
<li class="chapter" data-level="11.2.3" data-path="geo.html"><a href="geo.html#坐标系coordinate-reference-system"><i class="fa fa-check"></i><b>11.2.3</b> 坐标系(coordinate reference system)</a></li>
</ul></li>
<li class="chapter" data-level="11.3" data-path="geo.html"><a href="geo.html#地理数据操纵"><i class="fa fa-check"></i><b>11.3</b> 地理数据操纵</a></li>
<li class="chapter" data-level="11.4" data-path="geo.html"><a href="geo.html#地理数据可视化"><i class="fa fa-check"></i><b>11.4</b> 地理数据可视化</a></li>
<li class="chapter" data-level="11.5" data-path="geo.html"><a href="geo.html#地理数据运算"><i class="fa fa-check"></i><b>11.5</b> 地理数据运算</a>
<ul>
<li class="chapter" data-level="11.5.1" data-path="geo.html"><a href="geo.html#取子集"><i class="fa fa-check"></i><b>11.5.1</b> 取子集</a></li>
</ul></li>
<li class="chapter" data-level="11.6" data-path="geo.html"><a href="geo.html#地理数据读写"><i class="fa fa-check"></i><b>11.6</b> 地理数据读写</a></li>
<li class="chapter" data-level="11.7" data-path="geo.html"><a href="geo.html#地理数据计算"><i class="fa fa-check"></i><b>11.7</b> 地理数据计算</a></li>
</ul></li>
<li class="chapter" data-level="12" data-path="make.html"><a href="make.html"><i class="fa fa-check"></i><b>12</b> GUN Make的数据生产线</a>
<ul>
<li class="chapter" data-level="12.1" data-path="make.html"><a href="make.html#使用make的必要性"><i class="fa fa-check"></i><b>12.1</b> 使用Make的必要性</a></li>
<li class="chapter" data-level="12.2" data-path="make.html"><a href="make.html#make安装"><i class="fa fa-check"></i><b>12.2</b> Make安装</a></li>
<li class="chapter" data-level="12.3" data-path="make.html"><a href="make.html#快速上手make"><i class="fa fa-check"></i><b>12.3</b> 快速上手make</a></li>
<li class="chapter" data-level="12.4" data-path="make.html"><a href="make.html#make的工作方式"><i class="fa fa-check"></i><b>12.4</b> make的工作方式</a></li>
<li class="chapter" data-level="12.5" data-path="make.html"><a href="make.html#makefile-的高级写法"><i class="fa fa-check"></i><b>12.5</b> Makefile 的高级写法</a>
<ul>
<li class="chapter" data-level="12.5.1" data-path="make.html"><a href="make.html#特殊目标"><i class="fa fa-check"></i><b>12.5.1</b> 特殊目标</a></li>
<li class="chapter" data-level="12.5.2" data-path="make.html"><a href="make.html#使用变量"><i class="fa fa-check"></i><b>12.5.2</b> 使用变量</a></li>
<li class="chapter" data-level="12.5.3" data-path="make.html"><a href="make.html#分支与循环结构"><i class="fa fa-check"></i><b>12.5.3</b> 分支与循环结构</a></li>
<li class="chapter" data-level="12.5.4" data-path="make.html"><a href="make.html#函数"><i class="fa fa-check"></i><b>12.5.4</b> 函数</a></li>
</ul></li>
<li class="chapter" data-level="12.6" data-path="make.html"><a href="make.html#make的高级语法"><i class="fa fa-check"></i><b>12.6</b> Make的高级语法</a>
<ul>
<li class="chapter" data-level="12.6.1" data-path="make.html"><a href="make.html#并行计算"><i class="fa fa-check"></i><b>12.6.1</b> 并行计算</a></li>
</ul></li>
<li class="chapter" data-level="12.7" data-path="make.html"><a href="make.html#参考资料"><i class="fa fa-check"></i><b>12.7</b> 参考资料</a></li>
</ul></li>
<li class="appendix"><span><b>附录</b></span></li>
<li class="chapter" data-level="A" data-path="sound.html"><a href="sound.html"><i class="fa fa-check"></i><b>A</b> 余音绕梁</a></li>
<li class="chapter" data-level="" data-path="references.html"><a href="references.html"><i class="fa fa-check"></i>参考文献</a></li>
<li class="chapter" data-level="B" data-path="date.html"><a href="date.html"><i class="fa fa-check"></i><b>B</b> R日期时间</a>
<ul>
<li class="chapter" data-level="B.1" data-path="date.html"><a href="date.html#日期-时间数据类型"><i class="fa fa-check"></i><b>B.1</b> 日期-时间数据类型</a></li>
<li class="chapter" data-level="B.2" data-path="date.html"><a href="date.html#lubridate包"><i class="fa fa-check"></i><b>B.2</b> lubridate包</a>
<ul>
<li class="chapter" data-level="B.2.1" data-path="date.html"><a href="date.html#定义日期-时间变量"><i class="fa fa-check"></i><b>B.2.1</b> 定义日期-时间变量</a></li>
</ul></li>
<li class="chapter" data-level="B.3" data-path="date.html"><a href="date.html#从日期-时间中取出元素"><i class="fa fa-check"></i><b>B.3</b> 从日期-时间中取出元素</a></li>
<li class="chapter" data-level="B.4" data-path="date.html"><a href="date.html#日期-时间取整"><i class="fa fa-check"></i><b>B.4</b> 日期-时间取整</a></li>
<li class="chapter" data-level="B.5" data-path="date.html"><a href="date.html#日期-时间的数学运算"><i class="fa fa-check"></i><b>B.5</b> 日期-时间的数学运算</a>
<ul>
<li class="chapter" data-level="B.5.1" data-path="date.html"><a href="date.html#时间周期"><i class="fa fa-check"></i><b>B.5.1</b> 时间周期</a></li>
<li class="chapter" data-level="B.5.2" data-path="date.html"><a href="date.html#时间区间"><i class="fa fa-check"></i><b>B.5.2</b> 时间区间</a></li>
</ul></li>
</ul></li>
<li class="divider"></li>
<li><a href="https://bookdown.org" target="blank">本书由 bookdown 强力驱动</a></li>
</ul>
</nav>
</div>
<div class="book-body">
<div class="body-inner">
<div class="book-header" role="navigation">
<h1>
<i class="fa fa-circle-o-notch fa-spin"></i><a href="./">数据工程讲义:经济学分册</a>
</h1>
</div>
<div class="page-wrapper" tabindex="-1" role="main">
<div class="page-inner">
<section class="normal" id="section-">
<div id="rw" class="section level1" number="4">
<h1><span class="header-section-number">第 4 章</span> 数据读写</h1>
<p>在介绍了R语言编程的基础知识之后,从本章开始,我们将系统介绍数据工程的数据处理流程。回忆一下,完整的数据分析流程至少包括:数据读写、数据清理、数据可视化、统计分析以及数据分析报告等部分。其中,数据是数据工程不同部分之间衔接的接口。因此,数据读写是数据分析的基础。</p>
<p>本章中我们将介绍常用的数据格式以及如何在R中读写不同格式的数据。</p>
<div id="数据文件类型" class="section level2" number="4.1">
<h2><span class="header-section-number">4.1</span> 数据文件类型</h2>
<p>数据格式可以分为通用数据格式</p>
<div id="hdf5" class="section level3" number="4.1.1">
<h3><span class="header-section-number">4.1.1</span> HDF5</h3>
<p>HDF5是Hierarchical Data Format(HDF)第5代的简称,起源于高性能计算领域,目前标准由非营利组织The HDF Group<a href="#fn1" class="footnote-ref" id="fnref1"><sup>1</sup></a>组织开发和维护。其优点在于</p>
<ul>
<li>(1)原始表示:数据不必转换成文本,不涉及到转换误差;</li>
<li>(2)自我描述:数据类型直接写在文件中,可以被自动识别;</li>
<li>(3)跨语言:支持所有主流语言,有多重查看器</li>
</ul>
<p>但是其缺点在于并非人类直接可阅读的数据格式,且对ASCII之外的字符支持没有标准,不保证可以准确处理中文。</p>
<p>HDF5由数据集(Dataset)、组(Group)以及元数据(Metadata)组成。数据集用于储存多维数组;组是数据集的容器,并且可以嵌套;元数据则用于描述数据集或者组的特征,例如数据名称,数据类型等。</p>
<p>在R语言中使用<code>hdf5r</code>包<a href="#fn2" class="footnote-ref" id="fnref2"><sup>2</sup></a>来读写HDF5数据,这里我们简单介绍一下hdf5r的基本操作。想更深入了解HDF5数据格式的读者可以直接到The HDF Group官网阅读相关文档。想了解更多hdf5r包的读者可以自学其官方教程<a href="#fn3" class="footnote-ref" id="fnref3"><sup>3</sup></a></p>
<p>在下面的代码中,我们通过H5File$new命令可以创建一个新的h5文件,通过create_group函数可以创建新的组,然后我们将数据mtcars放入分组,最后再通过close_all()关闭文件。</p>
<div class="sourceCode" id="cb9"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb9-1"><a href="rw.html#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="fu">library</span>(hdf5r)</span>
<span id="cb9-2"><a href="rw.html#cb9-2" aria-hidden="true" tabindex="-1"></a><span class="fu">library</span>(datasets)</span>
<span id="cb9-3"><a href="rw.html#cb9-3" aria-hidden="true" tabindex="-1"></a>file.h5 <span class="ot"><-</span> H5File<span class="sc">$</span><span class="fu">new</span>(<span class="st">"hz.h5"</span>, <span class="at">mode =</span> <span class="st">"w"</span>)</span>
<span id="cb9-4"><a href="rw.html#cb9-4" aria-hidden="true" tabindex="-1"></a>mtcars.grp <span class="ot"><-</span> file.h5<span class="sc">$</span><span class="fu">create_group</span>(<span class="st">"mtcars"</span>)</span>
<span id="cb9-5"><a href="rw.html#cb9-5" aria-hidden="true" tabindex="-1"></a>mtcars.grp[[<span class="st">"mtcars"</span>]] <span class="ot"><-</span> datasets<span class="sc">::</span>mtcars</span>
<span id="cb9-6"><a href="rw.html#cb9-6" aria-hidden="true" tabindex="-1"></a>file.h5<span class="sc">$</span><span class="fu">close_all</span>()</span></code></pre></div>
<p>此时在工作路径中便生成了一个h5文件“hz.h5”,我们可以在命令行中通过python3-tables的vitables命令与hdf5-tools的h5dump命令查看HDF5文件内容。</p>
<p>通过H5File$new亦可以读入h5文件,然后通过names函数查看文件内的分组与数据集,并可以通过[[]]取出取出数据</p>
<div class="sourceCode" id="cb10"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb10-1"><a href="rw.html#cb10-1" aria-hidden="true" tabindex="-1"></a>file.h5 <span class="ot"><-</span> H5File<span class="sc">$</span><span class="fu">new</span>(<span class="st">"hz.h5"</span>, <span class="at">mode =</span> <span class="st">"r"</span>)</span>
<span id="cb10-2"><a href="rw.html#cb10-2" aria-hidden="true" tabindex="-1"></a><span class="fu">names</span>(file.h5)</span></code></pre></div>
<pre><code>## [1] "mtcars"</code></pre>
<div class="sourceCode" id="cb12"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb12-1"><a href="rw.html#cb12-1" aria-hidden="true" tabindex="-1"></a>cars <span class="ot"><-</span> file.h5[[<span class="st">"mtcars/mtcars"</span>]][]</span>
<span id="cb12-2"><a href="rw.html#cb12-2" aria-hidden="true" tabindex="-1"></a>file.h5<span class="sc">$</span><span class="fu">close_all</span>()</span></code></pre></div>
</div>
</div>
</div>
<div class="footnotes">
<hr />
<ol start="1">
<li id="fn1"><p><a href="https://www.hdfgroup.org/solutions/hdf5/" class="uri">https://www.hdfgroup.org/solutions/hdf5/</a><a href="rw.html#fnref1" class="footnote-back">↩︎</a></p></li>
<li id="fn2"><p>使用Mac操作系统的读者在安装<code>hdf5r</code>包的依赖<code>bit64</code>包时,可能会遇到报错<code>error: unknown type name 'uint64_t'</code>,此时需要将<code>/usr/local/include</code>文件夹修改为其他名字,修改名字后再次安装即可。<a href="rw.html#fnref2" class="footnote-back">↩︎</a></p></li>
<li id="fn3"><p><a href="https://cran.r-project.org/web/packages/hdf5r/vignettes/hdf5r.html" class="uri">https://cran.r-project.org/web/packages/hdf5r/vignettes/hdf5r.html</a><a href="rw.html#fnref3" class="footnote-back">↩︎</a></p></li>
</ol>
</div>
</section>
</div>
</div>
</div>
<a href="basic.html" class="navigation navigation-prev " aria-label="Previous page"><i class="fa fa-angle-left"></i></a>
<a href="md.html" class="navigation navigation-next " aria-label="Next page"><i class="fa fa-angle-right"></i></a>
</div>
</div>
<script src="libs/gitbook-2.6.7/js/app.min.js"></script>
<script src="libs/gitbook-2.6.7/js/clipboard.min.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-search.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-sharing.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-fontsettings.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-bookdown.js"></script>
<script src="libs/gitbook-2.6.7/js/jquery.highlight.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-clipboard.js"></script>
<script>
gitbook.require(["gitbook"], function(gitbook) {
gitbook.start({
"sharing": {
"github": true,
"facebook": false,
"twitter": true,
"linkedin": false,
"weibo": false,
"instapaper": false,
"vk": false,
"whatsapp": false,
"all": ["facebook", "twitter", "linkedin", "weibo", "instapaper"]
},
"fontsettings": {
"theme": "white",
"family": "sans",
"size": 2
},
"edit": {
"link": "https://github.com/yihui/bookdown-chinese/edit/master/04-datarw.Rmd",
"text": "编辑"
},
"history": {
"link": null,
"text": null
},
"view": {
"link": null,
"text": null
},
"download": ["dataengeering.pdf", "dataengeering.epub"],
"search": {
"engine": "fuse",
"options": null
},
"toc": {
"collapse": "none"
}
});
});
</script>
<!-- dynamically load mathjax for compatibility with self-contained -->
<script>
(function () {
var script = document.createElement("script");
script.type = "text/javascript";
var src = "true";
if (src === "" || src === "true") src = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-MML-AM_CHTML";
if (location.protocol !== "file:")
if (/^https?:/.test(src))
src = src.replace(/^https?:/, '');
script.src = src;
document.getElementsByTagName("head")[0].appendChild(script);
})();
</script>
</body>
</html>