-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathcml.html
2366 lines (2322 loc) · 213 KB
/
cml.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
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>第 10 章 命令行 | 数据工程讲义:经济学分册</title>
<meta name="description" content="适用于数据工程与数据科学课程的教材。" />
<meta name="generator" content="bookdown 0.30 and GitBook 2.6.7" />
<meta property="og:title" content="第 10 章 命令行 | 数据工程讲义:经济学分册" />
<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="第 10 章 命令行 | 数据工程讲义:经济学分册" />
<meta name="twitter:description" content="适用于数据工程与数据科学课程的教材。" />
<meta name="author" content="史冬波 续本达" />
<meta name="date" content="2024-02-03" />
<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="regexp.html"/>
<link rel="next" href="web.html"/>
<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.1.0/anchor-sections.css" rel="stylesheet" />
<link href="libs/anchor-sections-1.1.0/anchor-sections-hash.css" rel="stylesheet" />
<script src="libs/anchor-sections-1.1.0/anchor-sections.js"></script>
<script src="libs/htmlwidgets-1.6.2/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.10/grViz.js"></script>
<script src="libs/plotly-binding-4.10.0/plotly.js"></script>
<script src="libs/typedarray-0.1/typedarray.min.js"></script>
<link href="libs/crosstalk-1.2.0/css/crosstalk.min.css" rel="stylesheet" />
<script src="libs/crosstalk-1.2.0/js/crosstalk.min.js"></script>
<link href="libs/plotly-htmlwidgets-css-2.5.1/plotly-htmlwidgets.css" rel="stylesheet" />
<script src="libs/plotly-main-2.5.1/plotly-latest.min.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 { color: #008000; } /* 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 { color: #008000; font-weight: bold; } /* 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>
<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>
<li class="chapter" data-level="2.1.4" data-path="flow.html"><a href="flow.html#ai为社会科学研究创造的机遇"><i class="fa fa-check"></i><b>2.1.4</b> AI为社会科学研究创造的机遇</a></li>
</ul></li>
<li class="chapter" data-level="2.2" data-path="flow.html"><a href="flow.html#数据工程与数据科学"><i class="fa fa-check"></i><b>2.2</b> 数据工程与数据科学</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#数据工程师的工具箱"><i class="fa fa-check"></i><b>2.2.3</b> 数据工程师的工具箱</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>
<li class="chapter" data-level="2.3.3" data-path="flow.html"><a href="flow.html#最佳工具原则"><i class="fa fa-check"></i><b>2.3.3</b> 最佳工具原则</a></li>
<li class="chapter" data-level="2.3.4" data-path="flow.html"><a href="flow.html#一次原则"><i class="fa fa-check"></i><b>2.3.4</b> 一次原则</a></li>
</ul></li>
<li class="chapter" data-level="2.4" data-path="flow.html"><a href="flow.html#gnu-环境"><i class="fa fa-check"></i><b>2.4</b> GNU 环境</a>
<ul>
<li class="chapter" data-level="2.4.1" data-path="flow.html"><a href="flow.html#posix"><i class="fa fa-check"></i><b>2.4.1</b> POSIX</a></li>
<li class="chapter" data-level="2.4.2" data-path="flow.html"><a href="flow.html#gnu"><i class="fa fa-check"></i><b>2.4.2</b> GNU</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>
<ul>
<li class="chapter" data-level="2.5.1" data-path="flow.html"><a href="flow.html#git"><i class="fa fa-check"></i><b>2.5.1</b> Git</a></li>
<li class="chapter" data-level="2.5.2" data-path="flow.html"><a href="flow.html#git的三种状态"><i class="fa fa-check"></i><b>2.5.2</b> Git的三种状态</a></li>
<li class="chapter" data-level="2.5.3" data-path="flow.html"><a href="flow.html#git仓库"><i class="fa fa-check"></i><b>2.5.3</b> Git仓库</a></li>
<li class="chapter" data-level="2.5.4" data-path="flow.html"><a href="flow.html#git命令实践"><i class="fa fa-check"></i><b>2.5.4</b> Git命令实践</a></li>
<li class="chapter" data-level="2.5.5" data-path="flow.html"><a href="flow.html#git目前的局限性"><i class="fa fa-check"></i><b>2.5.5</b> Git目前的局限性</a></li>
</ul></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></li>
<li class="chapter" data-level="3.2" data-path="basic.html"><a href="basic.html#r语言的特点"><i class="fa fa-check"></i><b>3.2</b> R语言的特点</a></li>
<li class="chapter" data-level="3.3" data-path="basic.html"><a href="basic.html#r与rtudio的安装"><i class="fa fa-check"></i><b>3.3</b> R与Rtudio的安装</a>
<ul>
<li class="chapter" data-level="3.3.1" data-path="basic.html"><a href="basic.html#安装r"><i class="fa fa-check"></i><b>3.3.1</b> 安装R</a></li>
<li class="chapter" data-level="3.3.2" data-path="basic.html"><a href="basic.html#在wsl上安装r语言"><i class="fa fa-check"></i><b>3.3.2</b> 在WSL上安装R语言</a></li>
<li class="chapter" data-level="3.3.3" data-path="basic.html"><a href="basic.html#r安装rstudio"><i class="fa fa-check"></i><b>3.3.3</b> R安装RStudio</a></li>
<li class="chapter" data-level="3.3.4" data-path="basic.html"><a href="basic.html#组织r代码的三种方式"><i class="fa fa-check"></i><b>3.3.4</b> 组织R代码的三种方式</a></li>
<li class="chapter" data-level="3.3.5" data-path="basic.html"><a href="basic.html#r代码的组成"><i class="fa fa-check"></i><b>3.3.5</b> R代码的组成</a></li>
</ul></li>
<li class="chapter" data-level="3.4" data-path="basic.html"><a href="basic.html#r对文件和路径的相关操作"><i class="fa fa-check"></i><b>3.4</b> R对文件和路径的相关操作</a>
<ul>
<li class="chapter" data-level="3.4.1" data-path="basic.html"><a href="basic.html#路径操作"><i class="fa fa-check"></i><b>3.4.1</b> 路径操作</a></li>
<li class="chapter" data-level="3.4.2" data-path="basic.html"><a href="basic.html#文件操作"><i class="fa fa-check"></i><b>3.4.2</b> 文件操作</a></li>
<li class="chapter" data-level="3.4.3" data-path="basic.html"><a href="basic.html#特殊路径"><i class="fa fa-check"></i><b>3.4.3</b> 特殊路径</a></li>
</ul></li>
<li class="chapter" data-level="3.5" data-path="basic.html"><a href="basic.html#数据类型"><i class="fa fa-check"></i><b>3.5</b> 数据类型</a>
<ul>
<li class="chapter" data-level="3.5.1" data-path="basic.html"><a href="basic.html#数值型"><i class="fa fa-check"></i><b>3.5.1</b> 数值型</a></li>
<li class="chapter" data-level="3.5.2" data-path="basic.html"><a href="basic.html#逻辑型布尔型"><i class="fa fa-check"></i><b>3.5.2</b> 逻辑型/布尔型</a></li>
<li class="chapter" data-level="3.5.3" data-path="basic.html"><a href="basic.html#字符型"><i class="fa fa-check"></i><b>3.5.3</b> 字符型</a></li>
<li class="chapter" data-level="3.5.4" data-path="basic.html"><a href="basic.html#缺失值"><i class="fa fa-check"></i><b>3.5.4</b> 缺失值</a></li>
<li class="chapter" data-level="3.5.5" data-path="basic.html"><a href="basic.html#数据类型判断与转换"><i class="fa fa-check"></i><b>3.5.5</b> 数据类型判断与转换</a></li>
<li class="chapter" data-level="3.5.6" data-path="basic.html"><a href="basic.html#运算"><i class="fa fa-check"></i><b>3.5.6</b> 运算</a></li>
</ul></li>
<li class="chapter" data-level="3.6" data-path="basic.html"><a href="basic.html#变量"><i class="fa fa-check"></i><b>3.6</b> 变量</a></li>
<li class="chapter" data-level="3.7" data-path="basic.html"><a href="basic.html#数据结构"><i class="fa fa-check"></i><b>3.7</b> 数据结构</a>
<ul>
<li class="chapter" data-level="3.7.1" data-path="basic.html"><a href="basic.html#向量"><i class="fa fa-check"></i><b>3.7.1</b> 向量</a></li>
<li class="chapter" data-level="3.7.2" data-path="basic.html"><a href="basic.html#因子"><i class="fa fa-check"></i><b>3.7.2</b> 因子</a></li>
<li class="chapter" data-level="3.7.3" data-path="basic.html"><a href="basic.html#矩阵"><i class="fa fa-check"></i><b>3.7.3</b> 矩阵</a></li>
<li class="chapter" data-level="3.7.4" data-path="basic.html"><a href="basic.html#数据框"><i class="fa fa-check"></i><b>3.7.4</b> 数据框</a></li>
<li class="chapter" data-level="3.7.5" data-path="basic.html"><a href="basic.html#列表"><i class="fa fa-check"></i><b>3.7.5</b> 列表</a></li>
<li class="chapter" data-level="3.7.6" data-path="basic.html"><a href="basic.html#数据结构之间的转化"><i class="fa fa-check"></i><b>3.7.6</b> 数据结构之间的转化</a></li>
</ul></li>
<li class="chapter" data-level="3.8" data-path="basic.html"><a href="basic.html#数据读写"><i class="fa fa-check"></i><b>3.8</b> 数据读写</a>
<ul>
<li class="chapter" data-level="3.8.1" data-path="basic.html"><a href="basic.html#csv文件"><i class="fa fa-check"></i><b>3.8.1</b> csv文件</a></li>
<li class="chapter" data-level="3.8.2" data-path="basic.html"><a href="basic.html#hdf5"><i class="fa fa-check"></i><b>3.8.2</b> HDF5</a></li>
<li class="chapter" data-level="3.8.3" data-path="basic.html"><a href="basic.html#xml"><i class="fa fa-check"></i><b>3.8.3</b> XML</a></li>
<li class="chapter" data-level="3.8.4" data-path="basic.html"><a href="basic.html#json"><i class="fa fa-check"></i><b>3.8.4</b> JSON</a></li>
<li class="chapter" data-level="3.8.5" data-path="basic.html"><a href="basic.html#yaml"><i class="fa fa-check"></i><b>3.8.5</b> YAML</a></li>
<li class="chapter" data-level="3.8.6" data-path="basic.html"><a href="basic.html#专用数据文件"><i class="fa fa-check"></i><b>3.8.6</b> 专用数据文件</a></li>
</ul></li>
<li class="chapter" data-level="3.9" data-path="basic.html"><a href="basic.html#流程控制"><i class="fa fa-check"></i><b>3.9</b> 流程控制</a>
<ul>
<li class="chapter" data-level="3.9.1" data-path="basic.html"><a href="basic.html#条件判断"><i class="fa fa-check"></i><b>3.9.1</b> 条件判断</a></li>
<li class="chapter" data-level="3.9.2" data-path="basic.html"><a href="basic.html#循环"><i class="fa fa-check"></i><b>3.9.2</b> 循环</a></li>
</ul></li>
<li class="chapter" data-level="3.10" data-path="basic.html"><a href="basic.html#函数与包"><i class="fa fa-check"></i><b>3.10</b> 函数与包</a>
<ul>
<li class="chapter" data-level="3.10.1" data-path="basic.html"><a href="basic.html#函数的定义与调用"><i class="fa fa-check"></i><b>3.10.1</b> 函数的定义与调用</a></li>
<li class="chapter" data-level="3.10.2" data-path="basic.html"><a href="basic.html#变量作用域"><i class="fa fa-check"></i><b>3.10.2</b> 变量作用域</a></li>
<li class="chapter" data-level="3.10.3" data-path="basic.html"><a href="basic.html#函数模块化"><i class="fa fa-check"></i><b>3.10.3</b> 函数模块化</a></li>
<li class="chapter" data-level="3.10.4" data-path="basic.html"><a href="basic.html#包"><i class="fa fa-check"></i><b>3.10.4</b> 包</a></li>
</ul></li>
<li class="chapter" data-level="3.11" data-path="basic.html"><a href="basic.html#向量化"><i class="fa fa-check"></i><b>3.11</b> 向量化</a>
<ul>
<li class="chapter" data-level="3.11.1" data-path="basic.html"><a href="basic.html#apply"><i class="fa fa-check"></i><b>3.11.1</b> apply</a></li>
<li class="chapter" data-level="3.11.2" data-path="basic.html"><a href="basic.html#lapply"><i class="fa fa-check"></i><b>3.11.2</b> lapply</a></li>
<li class="chapter" data-level="3.11.3" data-path="basic.html"><a href="basic.html#sapply"><i class="fa fa-check"></i><b>3.11.3</b> sapply</a></li>
<li class="chapter" data-level="3.11.4" data-path="basic.html"><a href="basic.html#vapply"><i class="fa fa-check"></i><b>3.11.4</b> vapply</a></li>
<li class="chapter" data-level="3.11.5" data-path="basic.html"><a href="basic.html#mapply"><i class="fa fa-check"></i><b>3.11.5</b> mapply</a></li>
<li class="chapter" data-level="3.11.6" data-path="basic.html"><a href="basic.html#其他"><i class="fa fa-check"></i><b>3.11.6</b> 其他</a></li>
</ul></li>
<li class="chapter" data-level="3.12" data-path="basic.html"><a href="basic.html#代码风格"><i class="fa fa-check"></i><b>3.12</b> 代码风格</a></li>
</ul></li>
<li class="chapter" data-level="4" data-path="rmd.html"><a href="rmd.html"><i class="fa fa-check"></i><b>4</b> 文学式编程</a>
<ul>
<li class="chapter" data-level="4.1" data-path="rmd.html"><a href="rmd.html#什么是文学式编程"><i class="fa fa-check"></i><b>4.1</b> 什么是文学式编程</a></li>
<li class="chapter" data-level="4.2" data-path="rmd.html"><a href="rmd.html#markdown格式"><i class="fa fa-check"></i><b>4.2</b> Markdown格式</a>
<ul>
<li class="chapter" data-level="4.2.1" data-path="rmd.html"><a href="rmd.html#标题"><i class="fa fa-check"></i><b>4.2.1</b> 标题</a></li>
<li class="chapter" data-level="4.2.2" data-path="rmd.html"><a href="rmd.html#段落文本"><i class="fa fa-check"></i><b>4.2.2</b> 段落文本</a></li>
<li class="chapter" data-level="4.2.3" data-path="rmd.html"><a href="rmd.html#表格"><i class="fa fa-check"></i><b>4.2.3</b> 表格</a></li>
<li class="chapter" data-level="4.2.4" data-path="rmd.html"><a href="rmd.html#图片"><i class="fa fa-check"></i><b>4.2.4</b> 图片</a></li>
<li class="chapter" data-level="4.2.5" data-path="rmd.html"><a href="rmd.html#代码块"><i class="fa fa-check"></i><b>4.2.5</b> 代码块</a></li>
<li class="chapter" data-level="4.2.6" data-path="rmd.html"><a href="rmd.html#数学公式"><i class="fa fa-check"></i><b>4.2.6</b> 数学公式</a></li>
</ul></li>
<li class="chapter" data-level="4.3" data-path="rmd.html"><a href="rmd.html#rmarkdown"><i class="fa fa-check"></i><b>4.3</b> Rmarkdown</a>
<ul>
<li class="chapter" data-level="4.3.1" data-path="rmd.html"><a href="rmd.html#yaml头文件"><i class="fa fa-check"></i><b>4.3.1</b> YAML头文件</a></li>
<li class="chapter" data-level="4.3.2" data-path="rmd.html"><a href="rmd.html#代码块控制"><i class="fa fa-check"></i><b>4.3.2</b> 代码块控制</a></li>
<li class="chapter" data-level="4.3.3" data-path="rmd.html"><a href="rmd.html#rmarkdown特殊语法"><i class="fa fa-check"></i><b>4.3.3</b> Rmarkdown特殊语法</a></li>
<li class="chapter" data-level="4.3.4" data-path="rmd.html"><a href="rmd.html#格式转换"><i class="fa fa-check"></i><b>4.3.4</b> 格式转换</a></li>
</ul></li>
<li class="chapter" data-level="4.4" data-path="rmd.html"><a href="rmd.html#xaringan"><i class="fa fa-check"></i><b>4.4</b> Xaringan</a>
<ul>
<li class="chapter" data-level="4.4.1" data-path="rmd.html"><a href="rmd.html#安装与模板"><i class="fa fa-check"></i><b>4.4.1</b> 安装与模板</a></li>
<li class="chapter" data-level="4.4.2" data-path="rmd.html"><a href="rmd.html#其他学习资源"><i class="fa fa-check"></i><b>4.4.2</b> 其他学习资源</a></li>
</ul></li>
<li class="chapter" data-level="4.5" data-path="rmd.html"><a href="rmd.html#leanr"><i class="fa fa-check"></i><b>4.5</b> leanr</a>
<ul>
<li class="chapter" data-level="4.5.1" data-path="rmd.html"><a href="rmd.html#安装与模板-1"><i class="fa fa-check"></i><b>4.5.1</b> 安装与模板</a></li>
<li class="chapter" data-level="4.5.2" data-path="rmd.html"><a href="rmd.html#互动代码模块"><i class="fa fa-check"></i><b>4.5.2</b> 互动代码模块</a></li>
<li class="chapter" data-level="4.5.3" data-path="rmd.html"><a href="rmd.html#测试题"><i class="fa fa-check"></i><b>4.5.3</b> 测试题</a></li>
</ul></li>
<li class="chapter" data-level="4.6" data-path="rmd.html"><a href="rmd.html#bookdownblogdown以及pagedown"><i class="fa fa-check"></i><b>4.6</b> bookdown、blogdown以及pagedown</a></li>
<li class="chapter" data-level="4.7" data-path="rmd.html"><a href="rmd.html#quarto"><i class="fa fa-check"></i><b>4.7</b> Quarto</a></li>
</ul></li>
<li class="chapter" data-level="5" data-path="manipulate.html"><a href="manipulate.html"><i class="fa fa-check"></i><b>5</b> 数据整理</a>
<ul>
<li class="chapter" data-level="5.1" data-path="manipulate.html"><a href="manipulate.html#整齐数据tidydata"><i class="fa fa-check"></i><b>5.1</b> 整齐数据tidydata</a>
<ul>
<li class="chapter" data-level="5.1.1" data-path="manipulate.html"><a href="manipulate.html#分析单位unit-of-analysis"><i class="fa fa-check"></i><b>5.1.1</b> 分析单位(unit of analysis)</a></li>
</ul></li>
<li class="chapter" data-level="5.2" data-path="manipulate.html"><a href="manipulate.html#整齐数据"><i class="fa fa-check"></i><b>5.2</b> 整齐数据</a>
<ul>
<li class="chapter" data-level="5.2.1" data-path="manipulate.html"><a href="manipulate.html#整齐数据的缘起"><i class="fa fa-check"></i><b>5.2.1</b> 整齐数据的缘起</a></li>
<li class="chapter" data-level="5.2.2" data-path="manipulate.html"><a href="manipulate.html#整齐数据的定义"><i class="fa fa-check"></i><b>5.2.2</b> 整齐数据的定义</a></li>
<li class="chapter" data-level="5.2.3" data-path="manipulate.html"><a href="manipulate.html#数据的凌乱点"><i class="fa fa-check"></i><b>5.2.3</b> 数据的凌乱点</a></li>
</ul></li>
<li class="chapter" data-level="5.3" data-path="manipulate.html"><a href="manipulate.html#关系代数"><i class="fa fa-check"></i><b>5.3</b> 关系代数</a>
<ul>
<li class="chapter" data-level="5.3.1" data-path="manipulate.html"><a href="manipulate.html#sql语言"><i class="fa fa-check"></i><b>5.3.1</b> SQL语言</a></li>
</ul></li>
<li class="chapter" data-level="5.4" data-path="manipulate.html"><a href="manipulate.html#sqlite3"><i class="fa fa-check"></i><b>5.4</b> SQLite3</a>
<ul>
<li class="chapter" data-level="5.4.1" data-path="manipulate.html"><a href="manipulate.html#安装"><i class="fa fa-check"></i><b>5.4.1</b> 安装</a></li>
<li class="chapter" data-level="5.4.2" data-path="manipulate.html"><a href="manipulate.html#数据类型-1"><i class="fa fa-check"></i><b>5.4.2</b> 数据类型</a></li>
<li class="chapter" data-level="5.4.3" data-path="manipulate.html"><a href="manipulate.html#新建数据库与表格"><i class="fa fa-check"></i><b>5.4.3</b> 新建数据库与表格</a></li>
<li class="chapter" data-level="5.4.4" data-path="manipulate.html"><a href="manipulate.html#集合运算"><i class="fa fa-check"></i><b>5.4.4</b> 集合运算</a></li>
<li class="chapter" data-level="5.4.5" data-path="manipulate.html"><a href="manipulate.html#线性运算"><i class="fa fa-check"></i><b>5.4.5</b> 线性运算</a></li>
<li class="chapter" data-level="5.4.6" data-path="manipulate.html"><a href="manipulate.html#数据连接"><i class="fa fa-check"></i><b>5.4.6</b> 数据连接</a></li>
<li class="chapter" data-level="5.4.7" data-path="manipulate.html"><a href="manipulate.html#数据分组与汇总"><i class="fa fa-check"></i><b>5.4.7</b> 数据分组与汇总</a></li>
<li class="chapter" data-level="5.4.8" data-path="manipulate.html"><a href="manipulate.html#其他-1"><i class="fa fa-check"></i><b>5.4.8</b> 其他</a></li>
<li class="chapter" data-level="5.4.9" data-path="manipulate.html"><a href="manipulate.html#数据读写-1"><i class="fa fa-check"></i><b>5.4.9</b> 数据读写</a></li>
<li class="chapter" data-level="5.4.10" data-path="manipulate.html"><a href="manipulate.html#索引与键"><i class="fa fa-check"></i><b>5.4.10</b> 索引与键</a></li>
</ul></li>
<li class="chapter" data-level="5.5" data-path="manipulate.html"><a href="manipulate.html#mysql"><i class="fa fa-check"></i><b>5.5</b> MySQL</a>
<ul>
<li class="chapter" data-level="5.5.1" data-path="manipulate.html"><a href="manipulate.html#基本命令"><i class="fa fa-check"></i><b>5.5.1</b> 基本命令</a></li>
</ul></li>
<li class="chapter" data-level="5.6" data-path="manipulate.html"><a href="manipulate.html#postgresql"><i class="fa fa-check"></i><b>5.6</b> Postgresql</a></li>
<li class="chapter" data-level="5.7" data-path="manipulate.html"><a href="manipulate.html#dplyr"><i class="fa fa-check"></i><b>5.7</b> dplyr</a>
<ul>
<li class="chapter" data-level="5.7.1" data-path="manipulate.html"><a href="manipulate.html#集合运算-1"><i class="fa fa-check"></i><b>5.7.1</b> 集合运算</a></li>
<li class="chapter" data-level="5.7.2" data-path="manipulate.html"><a href="manipulate.html#线性运算-1"><i class="fa fa-check"></i><b>5.7.2</b> 线性运算</a></li>
<li class="chapter" data-level="5.7.3" data-path="manipulate.html"><a href="manipulate.html#管道"><i class="fa fa-check"></i><b>5.7.3</b> 管道</a></li>
<li class="chapter" data-level="5.7.4" data-path="manipulate.html"><a href="manipulate.html#数据连接-1"><i class="fa fa-check"></i><b>5.7.4</b> 数据连接</a></li>
<li class="chapter" data-level="5.7.5" data-path="manipulate.html"><a href="manipulate.html#数据分组与汇总-1"><i class="fa fa-check"></i><b>5.7.5</b> 数据分组与汇总</a></li>
</ul></li>
<li class="chapter" data-level="5.8" data-path="manipulate.html"><a href="manipulate.html#宽数据与长数据的转换"><i class="fa fa-check"></i><b>5.8</b> 宽数据与长数据的转换</a>
<ul>
<li class="chapter" data-level="5.8.1" data-path="manipulate.html"><a href="manipulate.html#宽数据转长数据"><i class="fa fa-check"></i><b>5.8.1</b> 宽数据转长数据</a></li>
<li class="chapter" data-level="5.8.2" data-path="manipulate.html"><a href="manipulate.html#长数据转宽数据"><i class="fa fa-check"></i><b>5.8.2</b> 长数据转宽数据</a></li>
<li class="chapter" data-level="5.8.3" data-path="manipulate.html"><a href="manipulate.html#联系人数据表的案例"><i class="fa fa-check"></i><b>5.8.3</b> 联系人数据表的案例</a></li>
</ul></li>
<li class="chapter" data-level="5.9" data-path="manipulate.html"><a href="manipulate.html#其他定制操作"><i class="fa fa-check"></i><b>5.9</b> 其他定制操作</a>
<ul>
<li class="chapter" data-level="5.9.1" data-path="manipulate.html"><a href="manipulate.html#排序"><i class="fa fa-check"></i><b>5.9.1</b> 排序</a></li>
<li class="chapter" data-level="5.9.2" data-path="manipulate.html"><a href="manipulate.html#抽样"><i class="fa fa-check"></i><b>5.9.2</b> 抽样</a></li>
<li class="chapter" data-level="5.9.3" data-path="manipulate.html"><a href="manipulate.html#去重复"><i class="fa fa-check"></i><b>5.9.3</b> 去重复</a></li>
<li class="chapter" data-level="5.9.4" data-path="manipulate.html"><a href="manipulate.html#缺失值处理"><i class="fa fa-check"></i><b>5.9.4</b> 缺失值处理</a></li>
<li class="chapter" data-level="5.9.5" data-path="manipulate.html"><a href="manipulate.html#拆分与合并数据列"><i class="fa fa-check"></i><b>5.9.5</b> 拆分与合并数据列</a></li>
<li class="chapter" data-level="5.9.6" data-path="manipulate.html"><a href="manipulate.html#合并数据"><i class="fa fa-check"></i><b>5.9.6</b> 合并数据</a></li>
</ul></li>
<li class="chapter" data-level="5.10" data-path="manipulate.html"><a href="manipulate.html#数据库的连接"><i class="fa fa-check"></i><b>5.10</b> 数据库的连接</a>
<ul>
<li class="chapter" data-level="5.10.1" data-path="manipulate.html"><a href="manipulate.html#r与数据库"><i class="fa fa-check"></i><b>5.10.1</b> R与数据库</a></li>
<li class="chapter" data-level="5.10.2" data-path="manipulate.html"><a href="manipulate.html#python与数据库"><i class="fa fa-check"></i><b>5.10.2</b> Python与数据库</a></li>
</ul></li>
<li class="chapter" data-level="5.11" data-path="manipulate.html"><a href="manipulate.html#data.table"><i class="fa fa-check"></i><b>5.11</b> data.table</a></li>
</ul></li>
<li class="chapter" data-level="6" data-path="visu.html"><a href="visu.html"><i class="fa fa-check"></i><b>6</b> 数据可视化</a>
<ul>
<li class="chapter" data-level="6.1" data-path="visu.html"><a href="visu.html#从一个可以画恐龙的包说起"><i class="fa fa-check"></i><b>6.1</b> 从一个可以画恐龙的包说起</a></li>
<li class="chapter" data-level="6.2" data-path="visu.html"><a href="visu.html#数据可视化的目的"><i class="fa fa-check"></i><b>6.2</b> 数据可视化的目的</a></li>
<li class="chapter" data-level="6.3" data-path="visu.html"><a href="visu.html#图形语法grammar-of-graphics"><i class="fa fa-check"></i><b>6.3</b> 图形语法(Grammar of Graphics)</a></li>
<li class="chapter" data-level="6.4" data-path="visu.html"><a href="visu.html#ggplot2"><i class="fa fa-check"></i><b>6.4</b> <code>ggplot2</code></a>
<ul>
<li class="chapter" data-level="6.4.1" data-path="visu.html"><a href="visu.html#几何对象"><i class="fa fa-check"></i><b>6.4.1</b> 几何对象</a></li>
<li class="chapter" data-level="6.4.2" data-path="visu.html"><a href="visu.html#美术属性"><i class="fa fa-check"></i><b>6.4.2</b> 美术属性</a></li>
<li class="chapter" data-level="6.4.3" data-path="visu.html"><a href="visu.html#统计变换"><i class="fa fa-check"></i><b>6.4.3</b> 统计变换</a></li>
<li class="chapter" data-level="6.4.4" data-path="visu.html"><a href="visu.html#标尺"><i class="fa fa-check"></i><b>6.4.4</b> 标尺</a></li>
<li class="chapter" data-level="6.4.5" data-path="visu.html"><a href="visu.html#坐标系"><i class="fa fa-check"></i><b>6.4.5</b> 坐标系</a></li>
<li class="chapter" data-level="6.4.6" data-path="visu.html"><a href="visu.html#分面"><i class="fa fa-check"></i><b>6.4.6</b> 分面</a></li>
<li class="chapter" data-level="6.4.7" data-path="visu.html"><a href="visu.html#标签与图例"><i class="fa fa-check"></i><b>6.4.7</b> 标签与图例</a></li>
<li class="chapter" data-level="6.4.8" data-path="visu.html"><a href="visu.html#主题"><i class="fa fa-check"></i><b>6.4.8</b> 主题</a></li>
<li class="chapter" data-level="6.4.9" data-path="visu.html"><a href="visu.html#图例"><i class="fa fa-check"></i><b>6.4.9</b> 图例</a></li>
<li class="chapter" data-level="6.4.10" data-path="visu.html"><a href="visu.html#图形组合"><i class="fa fa-check"></i><b>6.4.10</b> 图形组合</a></li>
</ul></li>
<li class="chapter" data-level="6.5" data-path="visu.html"><a href="visu.html#调色板"><i class="fa fa-check"></i><b>6.5</b> 调色板</a>
<ul>
<li class="chapter" data-level="6.5.1" data-path="visu.html"><a href="visu.html#ggsci"><i class="fa fa-check"></i><b>6.5.1</b> ggsci</a></li>
<li class="chapter" data-level="6.5.2" data-path="visu.html"><a href="visu.html#colorspace"><i class="fa fa-check"></i><b>6.5.2</b> colorspace</a></li>
</ul></li>
<li class="chapter" data-level="6.6" data-path="visu.html"><a href="visu.html#动图"><i class="fa fa-check"></i><b>6.6</b> 动图</a></li>
<li class="chapter" data-level="6.7" data-path="visu.html"><a href="visu.html#交互图"><i class="fa fa-check"></i><b>6.7</b> 交互图</a></li>
<li class="chapter" data-level="6.8" data-path="visu.html"><a href="visu.html#数据大屏dashboard"><i class="fa fa-check"></i><b>6.8</b> 数据大屏Dashboard</a>
<ul>
<li class="chapter" data-level="6.8.1" data-path="visu.html"><a href="visu.html#flexdashboard安装"><i class="fa fa-check"></i><b>6.8.1</b> flexdashboard安装</a></li>
<li class="chapter" data-level="6.8.2" data-path="visu.html"><a href="visu.html#新建dashboard"><i class="fa fa-check"></i><b>6.8.2</b> 新建dashboard</a></li>
<li class="chapter" data-level="6.8.3" data-path="visu.html"><a href="visu.html#dashboard布局"><i class="fa fa-check"></i><b>6.8.3</b> dashboard布局</a></li>
</ul></li>
<li class="chapter" data-level="6.9" data-path="visu.html"><a href="visu.html#其他参考资料"><i class="fa fa-check"></i><b>6.9</b> 其他参考资料</a></li>
</ul></li>
<li class="chapter" data-level="7" data-path="reg.html"><a href="reg.html"><i class="fa fa-check"></i><b>7</b> 回归</a>
<ul>
<li class="chapter" data-level="7.1" data-path="reg.html"><a href="reg.html#一般线性回归"><i class="fa fa-check"></i><b>7.1</b> 一般线性回归</a>
<ul>
<li class="chapter" data-level="7.1.1" data-path="reg.html"><a href="reg.html#基础模型"><i class="fa fa-check"></i><b>7.1.1</b> 基础模型</a></li>
<li class="chapter" data-level="7.1.2" data-path="reg.html"><a href="reg.html#稳健性标准误"><i class="fa fa-check"></i><b>7.1.2</b> 稳健性标准误</a></li>
</ul></li>
<li class="chapter" data-level="7.2" data-path="reg.html"><a href="reg.html#因果推断的反事实框架"><i class="fa fa-check"></i><b>7.2</b> 因果推断的反事实框架</a>
<ul>
<li class="chapter" data-level="7.2.1" data-path="reg.html"><a href="reg.html#定义因果关系"><i class="fa fa-check"></i><b>7.2.1</b> 定义因果关系</a></li>
<li class="chapter" data-level="7.2.2" data-path="reg.html"><a href="reg.html#cef三定理"><i class="fa fa-check"></i><b>7.2.2</b> CEF三定理</a></li>
<li class="chapter" data-level="7.2.3" data-path="reg.html"><a href="reg.html#交互项还是分组回归"><i class="fa fa-check"></i><b>7.2.3</b> 交互项还是分组回归</a></li>
</ul></li>
<li class="chapter" data-level="7.3" data-path="reg.html"><a href="reg.html#匹配"><i class="fa fa-check"></i><b>7.3</b> 匹配</a>
<ul>
<li class="chapter" data-level="7.3.1" data-path="reg.html"><a href="reg.html#原理"><i class="fa fa-check"></i><b>7.3.1</b> 原理</a></li>
<li class="chapter" data-level="7.3.2" data-path="reg.html"><a href="reg.html#案例"><i class="fa fa-check"></i><b>7.3.2</b> 案例</a></li>
</ul></li>
<li class="chapter" data-level="7.4" data-path="reg.html"><a href="reg.html#工具变量"><i class="fa fa-check"></i><b>7.4</b> 工具变量</a>
<ul>
<li class="chapter" data-level="7.4.1" data-path="reg.html"><a href="reg.html#原理-1"><i class="fa fa-check"></i><b>7.4.1</b> 原理</a></li>
<li class="chapter" data-level="7.4.2" data-path="reg.html"><a href="reg.html#案例-1"><i class="fa fa-check"></i><b>7.4.2</b> 案例</a></li>
</ul></li>
<li class="chapter" data-level="7.5" data-path="reg.html"><a href="reg.html#双重差分"><i class="fa fa-check"></i><b>7.5</b> 双重差分</a>
<ul>
<li class="chapter" data-level="7.5.1" data-path="reg.html"><a href="reg.html#原理-2"><i class="fa fa-check"></i><b>7.5.1</b> 原理</a></li>
<li class="chapter" data-level="7.5.2" data-path="reg.html"><a href="reg.html#案例-2"><i class="fa fa-check"></i><b>7.5.2</b> 案例</a></li>
</ul></li>
<li class="chapter" data-level="7.6" data-path="reg.html"><a href="reg.html#断点回归"><i class="fa fa-check"></i><b>7.6</b> 断点回归</a>
<ul>
<li class="chapter" data-level="7.6.1" data-path="reg.html"><a href="reg.html#原理-3"><i class="fa fa-check"></i><b>7.6.1</b> 原理</a></li>
<li class="chapter" data-level="7.6.2" data-path="reg.html"><a href="reg.html#案例-3"><i class="fa fa-check"></i><b>7.6.2</b> 案例</a></li>
</ul></li>
<li class="chapter" data-level="7.7" data-path="reg.html"><a href="reg.html#包含高维分类变量的回归"><i class="fa fa-check"></i><b>7.7</b> 包含高维分类变量的回归</a></li>
<li class="chapter" data-level="7.8" data-path="reg.html"><a href="reg.html#formula-公式对象"><i class="fa fa-check"></i><b>7.8</b> formula (公式)对象</a>
<ul>
<li class="chapter" data-level="7.8.1" data-path="reg.html"><a href="reg.html#公式的生成"><i class="fa fa-check"></i><b>7.8.1</b> 公式的生成</a></li>
<li class="chapter" data-level="7.8.2" data-path="reg.html"><a href="reg.html#生成公式的运算符"><i class="fa fa-check"></i><b>7.8.2</b> 生成公式的运算符</a></li>
<li class="chapter" data-level="7.8.3" data-path="reg.html"><a href="reg.html#公式与字符串之间的转换"><i class="fa fa-check"></i><b>7.8.3</b> 公式与字符串之间的转换</a></li>
</ul></li>
<li class="chapter" data-level="7.9" data-path="reg.html"><a href="reg.html#表达式expression"><i class="fa fa-check"></i><b>7.9</b> 表达式expression</a></li>
<li class="chapter" data-level="7.10" data-path="reg.html"><a href="reg.html#表达式的生成与执行"><i class="fa fa-check"></i><b>7.10</b> 表达式的生成与执行</a></li>
<li class="chapter" data-level="7.11" data-path="reg.html"><a href="reg.html#表达式与字符串的转换"><i class="fa fa-check"></i><b>7.11</b> 表达式与字符串的转换</a></li>
<li class="chapter" data-level="7.12" data-path="reg.html"><a href="reg.html#使用stargazer输出表格"><i class="fa fa-check"></i><b>7.12</b> 使用stargazer输出表格</a>
<ul>
<li class="chapter" data-level="7.12.1" data-path="reg.html"><a href="reg.html#标准回归表"><i class="fa fa-check"></i><b>7.12.1</b> 标准回归表</a></li>
<li class="chapter" data-level="7.12.2" data-path="reg.html"><a href="reg.html#默认格式"><i class="fa fa-check"></i><b>7.12.2</b> 默认格式</a></li>
<li class="chapter" data-level="7.12.3" data-path="reg.html"><a href="reg.html#表格表头"><i class="fa fa-check"></i><b>7.12.3</b> 表格表头</a></li>
<li class="chapter" data-level="7.12.4" data-path="reg.html"><a href="reg.html#表格正文"><i class="fa fa-check"></i><b>7.12.4</b> 表格正文</a></li>
<li class="chapter" data-level="7.12.5" data-path="reg.html"><a href="reg.html#添加变量信息"><i class="fa fa-check"></i><b>7.12.5</b> 添加变量信息</a></li>
<li class="chapter" data-level="7.12.6" data-path="reg.html"><a href="reg.html#选择统计量"><i class="fa fa-check"></i><b>7.12.6</b> 选择统计量</a></li>
<li class="chapter" data-level="7.12.7" data-path="reg.html"><a href="reg.html#表格注释"><i class="fa fa-check"></i><b>7.12.7</b> 表格注释</a></li>
<li class="chapter" data-level="7.12.8" data-path="reg.html"><a href="reg.html#整体布局"><i class="fa fa-check"></i><b>7.12.8</b> 整体布局</a></li>
<li class="chapter" data-level="7.12.9" data-path="reg.html"><a href="reg.html#其他-2"><i class="fa fa-check"></i><b>7.12.9</b> 其他</a></li>
<li class="chapter" data-level="7.12.10" data-path="reg.html"><a href="reg.html#描述性统计表"><i class="fa fa-check"></i><b>7.12.10</b> 描述性统计表</a></li>
</ul></li>
<li class="chapter" data-level="7.13" data-path="reg.html"><a href="reg.html#回归结果的可视化"><i class="fa fa-check"></i><b>7.13</b> 回归结果的可视化</a>
<ul>
<li class="chapter" data-level="7.13.1" data-path="reg.html"><a href="reg.html#使用ggcoefstats可视化回归结果"><i class="fa fa-check"></i><b>7.13.1</b> 使用ggcoefstats可视化回归结果</a></li>
<li class="chapter" data-level="7.13.2" data-path="reg.html"><a href="reg.html#使用"><i class="fa fa-check"></i><b>7.13.2</b> 使用</a></li>
<li class="chapter" data-level="7.13.3" data-path="reg.html"><a href="reg.html#双重差分模型的可视化"><i class="fa fa-check"></i><b>7.13.3</b> 双重差分模型的可视化</a></li>
</ul></li>
</ul></li>
<li class="chapter" data-level="8" data-path="py.html"><a href="py.html"><i class="fa fa-check"></i><b>8</b> Python基础</a>
<ul>
<li class="chapter" data-level="8.1" data-path="py.html"><a href="py.html#python简介"><i class="fa fa-check"></i><b>8.1</b> Python简介</a></li>
<li class="chapter" data-level="8.2" data-path="py.html"><a href="py.html#python安装与pycharm"><i class="fa fa-check"></i><b>8.2</b> Python安装与Pycharm</a>
<ul>
<li class="chapter" data-level="8.2.1" data-path="py.html"><a href="py.html#安装-2"><i class="fa fa-check"></i><b>8.2.1</b> 安装</a></li>
<li class="chapter" data-level="8.2.2" data-path="py.html"><a href="py.html#编辑器-1"><i class="fa fa-check"></i><b>8.2.2</b> 编辑器</a></li>
<li class="chapter" data-level="8.2.3" data-path="py.html"><a href="py.html#pycharm的安装与教育许可证"><i class="fa fa-check"></i><b>8.2.3</b> Pycharm的安装与教育许可证</a></li>
</ul></li>
<li class="chapter" data-level="8.3" data-path="py.html"><a href="py.html#变量-1"><i class="fa fa-check"></i><b>8.3</b> 变量</a></li>
<li class="chapter" data-level="8.4" data-path="py.html"><a href="py.html#数据类型-2"><i class="fa fa-check"></i><b>8.4</b> 数据类型</a>
<ul>
<li class="chapter" data-level="8.4.1" data-path="py.html"><a href="py.html#类型转换"><i class="fa fa-check"></i><b>8.4.1</b> 类型转换</a></li>
<li class="chapter" data-level="8.4.2" data-path="py.html"><a href="py.html#算术运算"><i class="fa fa-check"></i><b>8.4.2</b> 算术运算</a></li>
<li class="chapter" data-level="8.4.3" data-path="py.html"><a href="py.html#布尔运算"><i class="fa fa-check"></i><b>8.4.3</b> 布尔运算</a></li>
<li class="chapter" data-level="8.4.4" data-path="py.html"><a href="py.html#字符串"><i class="fa fa-check"></i><b>8.4.4</b> 字符串</a></li>
<li class="chapter" data-level="8.4.5" data-path="py.html"><a href="py.html#字符串的替换"><i class="fa fa-check"></i><b>8.4.5</b> 字符串的替换</a></li>
<li class="chapter" data-level="8.4.6" data-path="py.html"><a href="py.html#字符串的切片"><i class="fa fa-check"></i><b>8.4.6</b> 字符串的切片</a></li>
<li class="chapter" data-level="8.4.7" data-path="py.html"><a href="py.html#标准字符串操作"><i class="fa fa-check"></i><b>8.4.7</b> 标准字符串操作</a></li>
</ul></li>
<li class="chapter" data-level="8.5" data-path="py.html"><a href="py.html#标准输入输出"><i class="fa fa-check"></i><b>8.5</b> 标准输入输出</a>
<ul>
<li class="chapter" data-level="8.5.1" data-path="py.html"><a href="py.html#标准输入"><i class="fa fa-check"></i><b>8.5.1</b> 标准输入</a></li>
<li class="chapter" data-level="8.5.2" data-path="py.html"><a href="py.html#命令执行"><i class="fa fa-check"></i><b>8.5.2</b> 命令执行</a></li>
</ul></li>
<li class="chapter" data-level="8.6" data-path="py.html"><a href="py.html#数据结构-1"><i class="fa fa-check"></i><b>8.6</b> 数据结构</a>
<ul>
<li class="chapter" data-level="8.6.1" data-path="py.html"><a href="py.html#列表-1"><i class="fa fa-check"></i><b>8.6.1</b> 列表</a></li>
<li class="chapter" data-level="8.6.2" data-path="py.html"><a href="py.html#元组"><i class="fa fa-check"></i><b>8.6.2</b> 元组</a></li>
<li class="chapter" data-level="8.6.3" data-path="py.html"><a href="py.html#字典"><i class="fa fa-check"></i><b>8.6.3</b> 字典</a></li>
<li class="chapter" data-level="8.6.4" data-path="py.html"><a href="py.html#数据结构之间的转化-1"><i class="fa fa-check"></i><b>8.6.4</b> 数据结构之间的转化</a></li>
</ul></li>
<li class="chapter" data-level="8.7" data-path="py.html"><a href="py.html#流程控制-1"><i class="fa fa-check"></i><b>8.7</b> 流程控制</a>
<ul>
<li class="chapter" data-level="8.7.1" data-path="py.html"><a href="py.html#条件判断-1"><i class="fa fa-check"></i><b>8.7.1</b> 条件判断</a></li>
<li class="chapter" data-level="8.7.2" data-path="py.html"><a href="py.html#循环-1"><i class="fa fa-check"></i><b>8.7.2</b> 循环</a></li>
</ul></li>
<li class="chapter" data-level="8.8" data-path="py.html"><a href="py.html#函数与模块"><i class="fa fa-check"></i><b>8.8</b> 函数与模块</a>
<ul>
<li class="chapter" data-level="8.8.1" data-path="py.html"><a href="py.html#批量调用"><i class="fa fa-check"></i><b>8.8.1</b> 批量调用</a></li>
<li class="chapter" data-level="8.8.2" data-path="py.html"><a href="py.html#无名函数"><i class="fa fa-check"></i><b>8.8.2</b> 无名函数</a></li>
<li class="chapter" data-level="8.8.3" data-path="py.html"><a href="py.html#函数文档"><i class="fa fa-check"></i><b>8.8.3</b> 函数文档</a></li>
<li class="chapter" data-level="8.8.4" data-path="py.html"><a href="py.html#模块"><i class="fa fa-check"></i><b>8.8.4</b> 模块</a></li>
</ul></li>
<li class="chapter" data-level="8.9" data-path="py.html"><a href="py.html#数据读写与文件操作"><i class="fa fa-check"></i><b>8.9</b> 数据读写与文件操作</a>
<ul>
<li class="chapter" data-level="8.9.1" data-path="py.html"><a href="py.html#读入文件"><i class="fa fa-check"></i><b>8.9.1</b> 读入文件</a></li>
<li class="chapter" data-level="8.9.2" data-path="py.html"><a href="py.html#写出文件"><i class="fa fa-check"></i><b>8.9.2</b> 写出文件</a></li>
<li class="chapter" data-level="8.9.3" data-path="py.html"><a href="py.html#with关键字"><i class="fa fa-check"></i><b>8.9.3</b> with关键字</a></li>
</ul></li>
<li class="chapter" data-level="8.10" data-path="py.html"><a href="py.html#os模块"><i class="fa fa-check"></i><b>8.10</b> os模块</a></li>
<li class="chapter" data-level="8.11" data-path="py.html"><a href="py.html#python的环境配置"><i class="fa fa-check"></i><b>8.11</b> Python的环境配置</a></li>
<li class="chapter" data-level="8.12" data-path="py.html"><a href="py.html#案例获取高德地图地址信息"><i class="fa fa-check"></i><b>8.12</b> 案例:获取高德地图地址信息</a></li>
<li class="chapter" data-level="8.13" data-path="py.html"><a href="py.html#面向对象单独成一章"><i class="fa fa-check"></i><b>8.13</b> 面向对象单独成一章</a></li>
</ul></li>
<li class="chapter" data-level="9" data-path="regexp.html"><a href="regexp.html"><i class="fa fa-check"></i><b>9</b> 正则表达式</a>
<ul>
<li class="chapter" data-level="9.1" data-path="regexp.html"><a href="regexp.html#语法要素"><i class="fa fa-check"></i><b>9.1</b> 语法要素</a>
<ul>
<li class="chapter" data-level="9.1.1" data-path="regexp.html"><a href="regexp.html#元字符"><i class="fa fa-check"></i><b>9.1.1</b> 元字符</a></li>
<li class="chapter" data-level="9.1.2" data-path="regexp.html"><a href="regexp.html#重复"><i class="fa fa-check"></i><b>9.1.2</b> 重复</a></li>
<li class="chapter" data-level="9.1.3" data-path="regexp.html"><a href="regexp.html#常用字符集"><i class="fa fa-check"></i><b>9.1.3</b> 常用字符集</a></li>
<li class="chapter" data-level="9.1.4" data-path="regexp.html"><a href="regexp.html#分组"><i class="fa fa-check"></i><b>9.1.4</b> 分组</a></li>
<li class="chapter" data-level="9.1.5" data-path="regexp.html"><a href="regexp.html#非捕获组与断言"><i class="fa fa-check"></i><b>9.1.5</b> 非捕获组与断言</a></li>
</ul></li>
<li class="chapter" data-level="9.2" data-path="regexp.html"><a href="regexp.html#r语言stringr包"><i class="fa fa-check"></i><b>9.2</b> R语言stringr包</a>
<ul>
<li class="chapter" data-level="9.2.1" data-path="regexp.html"><a href="regexp.html#stringr包"><i class="fa fa-check"></i><b>9.2.1</b> stringr包</a></li>
<li class="chapter" data-level="9.2.2" data-path="regexp.html"><a href="regexp.html#应用案例wos数据分析"><i class="fa fa-check"></i><b>9.2.2</b> 应用案例:wos数据分析</a></li>
<li class="chapter" data-level="9.2.3" data-path="regexp.html"><a href="regexp.html#应用案例数据合并与校对"><i class="fa fa-check"></i><b>9.2.3</b> 应用案例:数据合并与校对</a></li>
</ul></li>
<li class="chapter" data-level="9.3" data-path="regexp.html"><a href="regexp.html#python的re模块"><i class="fa fa-check"></i><b>9.3</b> Python的re模块</a>
<ul>
<li class="chapter" data-level="9.3.1" data-path="regexp.html"><a href="regexp.html#原生字符串"><i class="fa fa-check"></i><b>9.3.1</b> 原生字符串</a></li>
<li class="chapter" data-level="9.3.2" data-path="regexp.html"><a href="regexp.html#编译"><i class="fa fa-check"></i><b>9.3.2</b> 编译</a></li>
<li class="chapter" data-level="9.3.3" data-path="regexp.html"><a href="regexp.html#匹配-1"><i class="fa fa-check"></i><b>9.3.3</b> 匹配</a></li>
<li class="chapter" data-level="9.3.4" data-path="regexp.html"><a href="regexp.html#分割"><i class="fa fa-check"></i><b>9.3.4</b> 分割</a></li>
<li class="chapter" data-level="9.3.5" data-path="regexp.html"><a href="regexp.html#替换"><i class="fa fa-check"></i><b>9.3.5</b> 替换</a></li>
<li class="chapter" data-level="9.3.6" data-path="regexp.html"><a href="regexp.html#命名组"><i class="fa fa-check"></i><b>9.3.6</b> 命名组</a></li>
</ul></li>
</ul></li>
<li class="chapter" data-level="10" data-path="cml.html"><a href="cml.html"><i class="fa fa-check"></i><b>10</b> 命令行</a>
<ul>
<li class="chapter" data-level="10.1" data-path="cml.html"><a href="cml.html#命令的基本概念"><i class="fa fa-check"></i><b>10.1</b> 命令的基本概念</a>
<ul>
<li class="chapter" data-level="10.1.1" data-path="cml.html"><a href="cml.html#fish"><i class="fa fa-check"></i><b>10.1.1</b> fish</a></li>
<li class="chapter" data-level="10.1.2" data-path="cml.html"><a href="cml.html#常用命令"><i class="fa fa-check"></i><b>10.1.2</b> 常用命令</a></li>
<li class="chapter" data-level="10.1.3" data-path="cml.html"><a href="cml.html#标准输入与输出"><i class="fa fa-check"></i><b>10.1.3</b> 标准输入与输出</a></li>
<li class="chapter" data-level="10.1.4" data-path="cml.html"><a href="cml.html#管道与进程管理"><i class="fa fa-check"></i><b>10.1.4</b> 管道与进程管理</a></li>
<li class="chapter" data-level="10.1.5" data-path="cml.html"><a href="cml.html#别名"><i class="fa fa-check"></i><b>10.1.5</b> 别名</a></li>
<li class="chapter" data-level="10.1.6" data-path="cml.html"><a href="cml.html#脚本"><i class="fa fa-check"></i><b>10.1.6</b> 脚本</a></li>
<li class="chapter" data-level="10.1.7" data-path="cml.html"><a href="cml.html#传参"><i class="fa fa-check"></i><b>10.1.7</b> 传参</a></li>
</ul></li>
<li class="chapter" data-level="10.2" data-path="cml.html"><a href="cml.html#变量与数据结构"><i class="fa fa-check"></i><b>10.2</b> 变量与数据结构</a>
<ul>
<li class="chapter" data-level="10.2.1" data-path="cml.html"><a href="cml.html#路径变量"><i class="fa fa-check"></i><b>10.2.1</b> 路径变量</a></li>
<li class="chapter" data-level="10.2.2" data-path="cml.html"><a href="cml.html#数组"><i class="fa fa-check"></i><b>10.2.2</b> 数组</a></li>
<li class="chapter" data-level="10.2.3" data-path="cml.html"><a href="cml.html#字典-1"><i class="fa fa-check"></i><b>10.2.3</b> 字典</a></li>
</ul></li>
<li class="chapter" data-level="10.3" data-path="cml.html"><a href="cml.html#运算-1"><i class="fa fa-check"></i><b>10.3</b> 运算</a></li>
<li class="chapter" data-level="10.4" data-path="cml.html"><a href="cml.html#控制流程"><i class="fa fa-check"></i><b>10.4</b> 控制流程</a>
<ul>
<li class="chapter" data-level="10.4.1" data-path="cml.html"><a href="cml.html#选择结构"><i class="fa fa-check"></i><b>10.4.1</b> 选择结构</a></li>
<li class="chapter" data-level="10.4.2" data-path="cml.html"><a href="cml.html#循环-2"><i class="fa fa-check"></i><b>10.4.2</b> 循环</a></li>
</ul></li>
<li class="chapter" data-level="10.5" data-path="cml.html"><a href="cml.html#函数"><i class="fa fa-check"></i><b>10.5</b> 函数</a></li>
<li class="chapter" data-level="10.6" data-path="cml.html"><a href="cml.html#linux文件与目录管理"><i class="fa fa-check"></i><b>10.6</b> Linux文件与目录管理</a>
<ul>
<li class="chapter" data-level="10.6.1" data-path="cml.html"><a href="cml.html#linux-链接"><i class="fa fa-check"></i><b>10.6.1</b> Linux 链接</a></li>
</ul></li>
<li class="chapter" data-level="10.7" data-path="cml.html"><a href="cml.html#应用案例"><i class="fa fa-check"></i><b>10.7</b> 应用案例</a></li>
<li class="chapter" data-level="10.8" data-path="cml.html"><a href="cml.html#通配符与bash内建正则表达式"><i class="fa fa-check"></i><b>10.8</b> 通配符与bash内建正则表达式</a></li>
<li class="chapter" data-level="10.9" data-path="cml.html"><a href="cml.html#grep命令"><i class="fa fa-check"></i><b>10.9</b> grep命令</a></li>
<li class="chapter" data-level="10.10" data-path="cml.html"><a href="cml.html#sed命令"><i class="fa fa-check"></i><b>10.10</b> sed命令</a>
<ul>
<li class="chapter" data-level="10.10.1" data-path="cml.html"><a href="cml.html#应用情景"><i class="fa fa-check"></i><b>10.10.1</b> 应用情景</a></li>
<li class="chapter" data-level="10.10.2" data-path="cml.html"><a href="cml.html#sed命令基本结构"><i class="fa fa-check"></i><b>10.10.2</b> sed命令基本结构</a></li>
<li class="chapter" data-level="10.10.3" data-path="cml.html"><a href="cml.html#s命令substitute"><i class="fa fa-check"></i><b>10.10.3</b> s命令(substitute)</a></li>
<li class="chapter" data-level="10.10.4" data-path="cml.html"><a href="cml.html#d命令deletep命令print和n命令next"><i class="fa fa-check"></i><b>10.10.4</b> d命令(delete)、p命令(print)和n命令(next)</a></li>
<li class="chapter" data-level="10.10.5" data-path="cml.html"><a href="cml.html#地址规范"><i class="fa fa-check"></i><b>10.10.5</b> 地址规范</a></li>
<li class="chapter" data-level="10.10.6" data-path="cml.html"><a href="cml.html#q和q命令quit"><i class="fa fa-check"></i><b>10.10.6</b> q和Q命令(quit)</a></li>
<li class="chapter" data-level="10.10.7" data-path="cml.html"><a href="cml.html#y命令"><i class="fa fa-check"></i><b>10.10.7</b> y命令</a></li>
<li class="chapter" data-level="10.10.8" data-path="cml.html"><a href="cml.html#ia和c命令insert-append-change"><i class="fa fa-check"></i><b>10.10.8</b> i、a和c命令(insert, append, change)</a></li>
<li class="chapter" data-level="10.10.9" data-path="cml.html"><a href="cml.html#命令l命令和z命令zap"><i class="fa fa-check"></i><b>10.10.9</b> =命令、l命令和z命令(zap)</a></li>
</ul></li>
<li class="chapter" data-level="10.11" data-path="cml.html"><a href="cml.html#awk命令"><i class="fa fa-check"></i><b>10.11</b> awk命令</a>
<ul>
<li class="chapter" data-level="10.11.1" data-path="cml.html"><a href="cml.html#awk入门"><i class="fa fa-check"></i><b>10.11.1</b> awk入门</a></li>
<li class="chapter" data-level="10.11.2" data-path="cml.html"><a href="cml.html#awk工作原理"><i class="fa fa-check"></i><b>10.11.2</b> awk工作原理</a></li>
<li class="chapter" data-level="10.11.3" data-path="cml.html"><a href="cml.html#awk分隔符"><i class="fa fa-check"></i><b>10.11.3</b> awk分隔符</a></li>
<li class="chapter" data-level="10.11.4" data-path="cml.html"><a href="cml.html#awk变量"><i class="fa fa-check"></i><b>10.11.4</b> awk变量</a></li>
<li class="chapter" data-level="10.11.5" data-path="cml.html"><a href="cml.html#printf输出格式化"><i class="fa fa-check"></i><b>10.11.5</b> printf输出格式化</a></li>
<li class="chapter" data-level="10.11.6" data-path="cml.html"><a href="cml.html#awk模式"><i class="fa fa-check"></i><b>10.11.6</b> awk模式</a></li>
<li class="chapter" data-level="10.11.7" data-path="cml.html"><a href="cml.html#流程控制-2"><i class="fa fa-check"></i><b>10.11.7</b> 流程控制</a></li>
<li class="chapter" data-level="10.11.8" data-path="cml.html"><a href="cml.html#awk数组"><i class="fa fa-check"></i><b>10.11.8</b> awk数组</a></li>
<li class="chapter" data-level="10.11.9" data-path="cml.html"><a href="cml.html#awk内置函数"><i class="fa fa-check"></i><b>10.11.9</b> awk内置函数</a></li>
<li class="chapter" data-level="10.11.10" data-path="cml.html"><a href="cml.html#排序函数"><i class="fa fa-check"></i><b>10.11.10</b> 排序函数</a></li>
</ul></li>
<li class="chapter" data-level="10.12" data-path="cml.html"><a href="cml.html#数据驱动的编程"><i class="fa fa-check"></i><b>10.12</b> 数据驱动的编程</a></li>
<li class="chapter" data-level="10.13" data-path="cml.html"><a href="cml.html#linuxunix-shebang与argparse"><i class="fa fa-check"></i><b>10.13</b> Linux/Unix Shebang与argparse</a>
<ul>
<li class="chapter" data-level="10.13.1" data-path="cml.html"><a href="cml.html#linuxunix-shebang"><i class="fa fa-check"></i><b>10.13.1</b> Linux/Unix Shebang</a></li>
<li class="chapter" data-level="10.13.2" data-path="cml.html"><a href="cml.html#argparse模块包"><i class="fa fa-check"></i><b>10.13.2</b> argparse模块(包)</a></li>
</ul></li>
<li class="chapter" data-level="10.14" data-path="cml.html"><a href="cml.html#关于命令行与ide"><i class="fa fa-check"></i><b>10.14</b> 关于命令行与IDE</a></li>
</ul></li>
<li class="chapter" data-level="11" data-path="web.html"><a href="web.html"><i class="fa fa-check"></i><b>11</b> 网络数据采集</a>
<ul>
<li class="chapter" data-level="11.1" data-path="web.html"><a href="web.html#网络数据格式"><i class="fa fa-check"></i><b>11.1</b> 网络数据格式</a>
<ul>
<li class="chapter" data-level="11.1.1" data-path="web.html"><a href="web.html#csv"><i class="fa fa-check"></i><b>11.1.1</b> CSV</a></li>
<li class="chapter" data-level="11.1.2" data-path="web.html"><a href="web.html#xml-1"><i class="fa fa-check"></i><b>11.1.2</b> XML</a></li>
<li class="chapter" data-level="11.1.3" data-path="web.html"><a href="web.html#json-1"><i class="fa fa-check"></i><b>11.1.3</b> JSON</a></li>
</ul></li>
<li class="chapter" data-level="11.2" data-path="web.html"><a href="web.html#html"><i class="fa fa-check"></i><b>11.2</b> HTML</a>
<ul>
<li class="chapter" data-level="11.2.1" data-path="web.html"><a href="web.html#html的基本语法"><i class="fa fa-check"></i><b>11.2.1</b> HTML的基本语法</a></li>
<li class="chapter" data-level="11.2.2" data-path="web.html"><a href="web.html#常见html标签"><i class="fa fa-check"></i><b>11.2.2</b> 常见HTML标签</a></li>
<li class="chapter" data-level="11.2.3" data-path="web.html"><a href="web.html#dom树形数据结构"><i class="fa fa-check"></i><b>11.2.3</b> DOM树形数据结构</a></li>
</ul></li>
<li class="chapter" data-level="11.3" data-path="web.html"><a href="web.html#css"><i class="fa fa-check"></i><b>11.3</b> CSS</a>
<ul>
<li class="chapter" data-level="11.3.1" data-path="web.html"><a href="web.html#css的基本语法"><i class="fa fa-check"></i><b>11.3.1</b> CSS的基本语法</a></li>
<li class="chapter" data-level="11.3.2" data-path="web.html"><a href="web.html#id选择器"><i class="fa fa-check"></i><b>11.3.2</b> id选择器</a></li>
<li class="chapter" data-level="11.3.3" data-path="web.html"><a href="web.html#类选择器"><i class="fa fa-check"></i><b>11.3.3</b> 类选择器</a></li>
</ul></li>
<li class="chapter" data-level="11.4" data-path="web.html"><a href="web.html#javascript"><i class="fa fa-check"></i><b>11.4</b> JavaScript</a>
<ul>
<li class="chapter" data-level="11.4.1" data-path="web.html"><a href="web.html#javascript案例"><i class="fa fa-check"></i><b>11.4.1</b> JavaScript案例</a></li>
<li class="chapter" data-level="11.4.2" data-path="web.html"><a href="web.html#javascript的基本语法"><i class="fa fa-check"></i><b>11.4.2</b> JavaScript的基本语法</a></li>
<li class="chapter" data-level="11.4.3" data-path="web.html"><a href="web.html#ajax"><i class="fa fa-check"></i><b>11.4.3</b> AJAX</a></li>
</ul></li>
<li class="chapter" data-level="11.5" data-path="web.html"><a href="web.html#开发者工具"><i class="fa fa-check"></i><b>11.5</b> 开发者工具</a>
<ul>
<li class="chapter" data-level="11.5.1" data-path="web.html"><a href="web.html#打开开发者工具"><i class="fa fa-check"></i><b>11.5.1</b> 打开开发者工具</a></li>
<li class="chapter" data-level="11.5.2" data-path="web.html"><a href="web.html#查看器与样式"><i class="fa fa-check"></i><b>11.5.2</b> 查看器与样式</a></li>
<li class="chapter" data-level="11.5.3" data-path="web.html"><a href="web.html#其他功能"><i class="fa fa-check"></i><b>11.5.3</b> 其他功能</a></li>
</ul></li>
<li class="chapter" data-level="11.6" data-path="web.html"><a href="web.html#xpath"><i class="fa fa-check"></i><b>11.6</b> Xpath</a>
<ul>
<li class="chapter" data-level="11.6.1" data-path="web.html"><a href="web.html#基本查询"><i class="fa fa-check"></i><b>11.6.1</b> 基本查询</a></li>
</ul></li>
<li class="chapter" data-level="11.7" data-path="web.html"><a href="web.html#http"><i class="fa fa-check"></i><b>11.7</b> HTTP</a>
<ul>
<li class="chapter" data-level="11.7.1" data-path="web.html"><a href="web.html#http常见方法"><i class="fa fa-check"></i><b>11.7.1</b> HTTP常见方法</a></li>
</ul></li>
<li class="chapter" data-level="11.8" data-path="web.html"><a href="web.html#静态爬虫"><i class="fa fa-check"></i><b>11.8</b> 静态爬虫</a></li>
<li class="chapter" data-level="11.9" data-path="web.html"><a href="web.html#使用rselenium的动态爬虫"><i class="fa fa-check"></i><b>11.9</b> 使用RSelenium的动态爬虫</a>
<ul>
<li class="chapter" data-level="11.9.1" data-path="web.html"><a href="web.html#rselenium简介与安装"><i class="fa fa-check"></i><b>11.9.1</b> RSelenium简介与安装</a></li>
<li class="chapter" data-level="11.9.2" data-path="web.html"><a href="web.html#安装docker"><i class="fa fa-check"></i><b>11.9.2</b> 安装Docker</a></li>
<li class="chapter" data-level="11.9.3" data-path="web.html"><a href="web.html#rselenum语法"><i class="fa fa-check"></i><b>11.9.3</b> RSelenum语法</a></li>
<li class="chapter" data-level="11.9.4" data-path="web.html"><a href="web.html#案例1在链家搜索并获取相关信息"><i class="fa fa-check"></i><b>11.9.4</b> 案例1:在链家搜索并获取相关信息</a></li>
<li class="chapter" data-level="11.9.5" data-path="web.html"><a href="web.html#案例2登录豆瓣"><i class="fa fa-check"></i><b>11.9.5</b> 案例2:登录豆瓣</a></li>
</ul></li>
</ul></li>
<li class="chapter" data-level="12" data-path="geo.html"><a href="geo.html"><i class="fa fa-check"></i><b>12</b> 地理计算</a>
<ul>
<li class="chapter" data-level="12.1" data-path="geo.html"><a href="geo.html#r中地理计算"><i class="fa fa-check"></i><b>12.1</b> R中地理计算</a></li>
<li class="chapter" data-level="12.2" data-path="geo.html"><a href="geo.html#地理数据结构"><i class="fa fa-check"></i><b>12.2</b> 地理数据结构</a>
<ul>
<li class="chapter" data-level="12.2.1" data-path="geo.html"><a href="geo.html#向量vector"><i class="fa fa-check"></i><b>12.2.1</b> 向量(Vector)</a></li>
<li class="chapter" data-level="12.2.2" data-path="geo.html"><a href="geo.html#栅格raster"><i class="fa fa-check"></i><b>12.2.2</b> 栅格(Raster)</a></li>
<li class="chapter" data-level="12.2.3" data-path="geo.html"><a href="geo.html#坐标系coordinate-reference-system"><i class="fa fa-check"></i><b>12.2.3</b> 坐标系(coordinate reference system)</a></li>
</ul></li>
<li class="chapter" data-level="12.3" data-path="geo.html"><a href="geo.html#地理数据操纵"><i class="fa fa-check"></i><b>12.3</b> 地理数据操纵</a></li>
<li class="chapter" data-level="12.4" data-path="geo.html"><a href="geo.html#地理数据可视化"><i class="fa fa-check"></i><b>12.4</b> 地理数据可视化</a></li>
<li class="chapter" data-level="12.5" data-path="geo.html"><a href="geo.html#地理数据运算"><i class="fa fa-check"></i><b>12.5</b> 地理数据运算</a>
<ul>
<li class="chapter" data-level="12.5.1" data-path="geo.html"><a href="geo.html#取子集"><i class="fa fa-check"></i><b>12.5.1</b> 取子集</a></li>
</ul></li>
<li class="chapter" data-level="12.6" data-path="geo.html"><a href="geo.html#地理数据读写"><i class="fa fa-check"></i><b>12.6</b> 地理数据读写</a></li>
<li class="chapter" data-level="12.7" data-path="geo.html"><a href="geo.html#地理数据计算"><i class="fa fa-check"></i><b>12.7</b> 地理数据计算</a></li>
</ul></li>
<li class="chapter" data-level="13" data-path="make.html"><a href="make.html"><i class="fa fa-check"></i><b>13</b> GUN Make的数据生产线</a>
<ul>
<li class="chapter" data-level="13.1" data-path="make.html"><a href="make.html#使用make的必要性"><i class="fa fa-check"></i><b>13.1</b> 使用Make的必要性</a></li>
<li class="chapter" data-level="13.2" data-path="make.html"><a href="make.html#数据流水线的构造目标"><i class="fa fa-check"></i><b>13.2</b> 数据流水线的构造目标</a></li>
<li class="chapter" data-level="13.3" data-path="make.html"><a href="make.html#make安装"><i class="fa fa-check"></i><b>13.3</b> Make安装</a></li>
<li class="chapter" data-level="13.4" data-path="make.html"><a href="make.html#快速上手make"><i class="fa fa-check"></i><b>13.4</b> 快速上手make</a></li>
<li class="chapter" data-level="13.5" data-path="make.html"><a href="make.html#make的工作方式"><i class="fa fa-check"></i><b>13.5</b> make的工作方式</a></li>
<li class="chapter" data-level="13.6" data-path="make.html"><a href="make.html#makefile-的高级写法"><i class="fa fa-check"></i><b>13.6</b> Makefile 的高级写法</a>
<ul>
<li class="chapter" data-level="13.6.1" data-path="make.html"><a href="make.html#特殊目标"><i class="fa fa-check"></i><b>13.6.1</b> 特殊目标</a></li>
<li class="chapter" data-level="13.6.2" data-path="make.html"><a href="make.html#使用变量"><i class="fa fa-check"></i><b>13.6.2</b> 使用变量</a></li>
<li class="chapter" data-level="13.6.3" data-path="make.html"><a href="make.html#分支与循环结构"><i class="fa fa-check"></i><b>13.6.3</b> 分支与循环结构</a></li>
<li class="chapter" data-level="13.6.4" data-path="make.html"><a href="make.html#函数-1"><i class="fa fa-check"></i><b>13.6.4</b> 函数</a></li>
</ul></li>
<li class="chapter" data-level="13.7" data-path="make.html"><a href="make.html#make的高级语法"><i class="fa fa-check"></i><b>13.7</b> Make的高级语法</a>
<ul>
<li class="chapter" data-level="13.7.1" data-path="make.html"><a href="make.html#并行计算"><i class="fa fa-check"></i><b>13.7.1</b> 并行计算</a></li>
</ul></li>
<li class="chapter" data-level="13.8" data-path="make.html"><a href="make.html#参考资料"><i class="fa fa-check"></i><b>13.8</b> 参考资料</a></li>
</ul></li>
<li class="chapter" data-level="14" data-path="net.html"><a href="net.html"><i class="fa fa-check"></i><b>14</b> 图数据分析</a></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>
<li class="chapter" data-level="B.5.3" data-path="date.html"><a href="date.html#时间区间"><i class="fa fa-check"></i><b>B.5.3</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="cml" class="section level1 hasAnchor" number="10">
<h1><span class="header-section-number">第 10 章</span> 命令行<a href="cml.html#cml" class="anchor-section" aria-label="Anchor link to header"></a></h1>
<blockquote>
<p>上下无常,刚柔相易,不可为典要,唯变所适。–《周易》</p>
</blockquote>
<p>命令行对于初学者而言就像是一个黑色的魔法界面,但实际上命令行才是计算机系统的母语。当我们使用命令行的时候,我们可以清楚的看到程序的输入、输出与执行过程,所以最接近数据工程的“透明原则”。与此同时,命令行脚本可以形成非常灵活的轻量级工具,可以把不同任务连接起来,是“天然胶水”。因此,熟练掌握命令行界面对于数据处理至关重要。</p>
<p>在命令行里,我们需要给计算机以非常精准的指令,这对我们的逻辑思考能力是一个质的改变。在日常生活中,“我以为我知道”和“我确定真的知道”是两个完全不一样的概念,尤其对于经济学家而言,很多时候我们经常处于前者的状态而不自知。在命令行中,我们被迫要达到第二种状态。</p>
<p>命令行普遍存在于几乎所有的操作系统,包括但不限于GNU/Linux,Unix,macOS,Windows WSL,以及各种超级计算机。掌握一套命令行工具,可以让我们在各类系统上穿梭自如。</p>
<p>我们不可能通过一章的篇幅帮助读者成为玩转命令行的专家,因此,本章的目的在于介绍最基本的命令行语法,希望借助本章的内容,为读者在未来研究与工作中使用和学习命令行工具留下合格的学习接口。</p>
<div id="命令的基本概念" class="section level2 hasAnchor" number="10.1">
<h2><span class="header-section-number">10.1</span> 命令的基本概念<a href="cml.html#命令的基本概念" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<p>操作系统是一个内核(kernel),是内部与硬件交互的;外部是人机交互的部分,叫做壳(shell),是人类到操作系统的桥梁。shell有两种,命令行(Command Line Interface, CLI)和图形(Graphical User Interface, GUI)。最典型的命令行shell是GNU Bourne-Again Shell(bash)。</p>
<p>bash是GNU运动的一部分,是目前使用最广泛的shell,但它是一个基础的shell,可配置的选项有限,限制了使用时的便捷性。</p>
<p>zsh是另一个使用广泛的shell,搭配”Oh My Zsh”插件,可以将shell的功能配置的非常丰富,例如丰富的主题,语法高亮与命令补全等。2019年,Apple的macOS Catalina将zsh作为默认shell,取代了bash。但是,zsh的复杂性会让初学者感到不知所措,其丰富的配置选项会让初学者感到困惑。</p>
<p>我们推荐初学者一个介于bash与zsh之间的选择-fish,推荐脚本使用bash,命令行交互可以使用fish。</p>
<div id="fish" class="section level3 hasAnchor" number="10.1.1">
<h3><span class="header-section-number">10.1.1</span> fish<a href="cml.html#fish" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>fish,全称“friendly interactive shell”,首次发布于2005年2月13日,原作者为 Axel Liljencrantz,是一个专注于交互性和可用性的 Unix shell。它最大的优点是在不需要配置的情况下,就提供了大部分的功能,非常适合不想学习一大堆语法,或者花费很多时间配置的初学者。</p>
<div id="fish的安装" class="section level4 hasAnchor" number="10.1.1.1">
<h4><span class="header-section-number">10.1.1.1</span> fish的安装<a href="cml.html#fish的安装" class="anchor-section" aria-label="Anchor link to header"></a></h4>
<p>debian用户使用apt安装,macos使用brew命令安装。</p>
<pre><code>apt install fish</code></pre>
<pre><code>brew install fish</code></pre>
<p>安装完成后,直接通过<code>fish</code>命令可以启动fish。</p>
</div>
<div id="设置fish为默认shell" class="section level4 hasAnchor" number="10.1.1.2">
<h4><span class="header-section-number">10.1.1.2</span> 设置fish为默认shell<a href="cml.html#设置fish为默认shell" class="anchor-section" aria-label="Anchor link to header"></a></h4>
<p>在文件<code>/etc/shells</code>中添加<code>/usr/local/bin/fish</code>,之后,运行命令<code>chsh -s /usr/local/bin/fish</code>,可以将fish设置成默认shell。</p>
</div>
<div id="fish的常用功能" class="section level4 hasAnchor" number="10.1.1.3">
<h4><span class="header-section-number">10.1.1.3</span> fish的常用功能<a href="cml.html#fish的常用功能" class="anchor-section" aria-label="Anchor link to header"></a></h4>
<p>相对于需要进行大量的配置才能获得良好体验的 zsh,fish原生附带有最为广泛使用的特性,比如:自动提示、语法高亮等等。同时其配置设置的语法清晰明了,通过模块化和 Web 可视化配置。</p>
<ul>
<li><p>自动提示:fish 会通过显示灰色提示,提醒最近浏览历史,和可能希望浏览的内容。如果命令有误,则会将命令设置为红色。</p></li>
<li><p>文件和命令高亮:fish 会将文件设置为绿色,目录设置为蓝色。</p></li>
<li><p>生成数据制表页:fish 可以解析各种格式的工具手册页,假如你不知道该命令下有什么作用,可以通过输入<code>tab</code>键获得提示</p></li>
<li><p>自动补全:输入命令时,Fish 会自动显示上一次使用该命令历史记录(如果还希望查看之前的历史,还可以通过按”up”向上键查看)</p></li>
</ul>
</div>
<div id="fish的配置文件" class="section level4 hasAnchor" number="10.1.1.4">
<h4><span class="header-section-number">10.1.1.4</span> fish的配置文件<a href="cml.html#fish的配置文件" class="anchor-section" aria-label="Anchor link to header"></a></h4>
<p>fish的配置文件位于<code>~/.config/fish/config.fish</code>,也可以通过修改配置文件来对fish进行修改。</p>
<p>fish还提供了可视化Web配置页面,输入<code>fish_config</code>命令可以在浏览器打开一个配置页面,可以便捷的配置fish。</p>
</div>
</div>
<div id="常用命令" class="section level3 hasAnchor" number="10.1.2">
<h3><span class="header-section-number">10.1.2</span> 常用命令<a href="cml.html#常用命令" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>命令有五种类型:可执行程序、脚本、Shell内建命令、Shell函数还有别名。使用<code>type</code>命令可以查看其他命令的类型。</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb3-1"><a href="cml.html#cb3-1" tabindex="-1"></a><span class="bu">type</span> echo</span>
<span id="cb3-2"><a href="cml.html#cb3-2" tabindex="-1"></a><span class="bu">type</span> cat</span></code></pre></div>
<pre><code>## echo is a shell builtin
## cat is /bin/cat</code></pre>
<p>特别地,命令行命令并不需要特别记忆,我们只需要了解常用命令,对于经常使用的命令,在使用的过程中很快就可以记下来</p>
<table>
<thead>
<tr class="header">
<th>命令</th>
<th>功能</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><code>ls</code></td>
<td>查看目录内的文件</td>
</tr>
<tr class="even">
<td><code>cd</code></td>
<td>改变路径</td>
</tr>
<tr class="odd">
<td><code>rm</code></td>
<td>删除文件或文件夹</td>
</tr>
<tr class="even">
<td><code>git</code></td>
<td>版本控制相关的命令</td>
</tr>
<tr class="odd">
<td><code>less</code></td>
<td>以分页方式查看文件内容</td>
</tr>
<tr class="even">
<td><code>man</code></td>
<td>查看命令文档</td>
</tr>
<tr class="odd">
<td><code>info</code></td>
<td>GNU的命令详细介绍文件</td>
</tr>
<tr class="even">
<td><code>cat</code></td>
<td>将多个文件连接起来输出</td>
</tr>
<tr class="odd">
<td><code>pwd</code></td>
<td>打印当前路径</td>
</tr>
<tr class="even">
<td><code>seq</code></td>
<td>生成等差数列</td>
</tr>
<tr class="odd">
<td><code>grep</code></td>
<td>筛选符合条件的行</td>
</tr>
<tr class="even">
<td><code>wc</code></td>
<td>计数</td>
</tr>
<tr class="odd">
<td><code>echo</code></td>
<td>打印字符到输出</td>
</tr>
<tr class="even">
<td><code>find</code></td>
<td>查找文件</td>
</tr>
<tr class="odd">
<td><code>touch</code></td>
<td>新建文件/改变文件修改时间</td>
</tr>
<tr class="even">
<td><code>mkdir</code></td>
<td>新建文件夹</td>
</tr>
<tr class="odd">
<td><code>tee</code></td>
<td>显示程序的输出并将其复制到一个文件中</td>
</tr>
<tr class="even">
<td><code>bc</code></td>
<td>计算器</td>
</tr>
<tr class="odd">
<td><code>uname</code></td>
<td>查看系统基本信息</td>
</tr>
<tr class="even">
<td><code>hostname</code></td>
<td>用户信息</td>
</tr>
<tr class="odd">
<td><code>id</code></td>
<td>用户id信息</td>
</tr>
<tr class="even">
<td><code>date</code></td>
<td>当前日期时间</td>
</tr>
<tr class="odd">
<td><code>uptime</code></td>
<td>机器运行时间</td>
</tr>
<tr class="even">
<td><code>dmesg</code></td>
<td>显示内核环缓冲区信息</td>
</tr>
<tr class="odd">
<td><code>head</code></td>
<td>文件头部若干行</td>
</tr>
<tr class="even">
<td><code>tail</code></td>
<td>文件尾部若干行</td>
</tr>
<tr class="odd">
<td><code>cut</code></td>
<td>按列剪切输出</td>
</tr>
<tr class="even">
<td><code>paste</code></td>
<td>合并文件的列,<code>cut</code>的反函数</td>
</tr>
<tr class="odd">
<td><code>find</code></td>
<td>查找路径下的文件</td>
</tr>
<tr class="even">
<td><code>file</code></td>
<td>识别文件类型</td>
</tr>
<tr class="odd">
<td><code>chmod</code></td>
<td>修改文件权限</td>
</tr>
<tr class="even">
<td><code>sed</code></td>
<td>文件流编辑器,macOS需要使用<code>gsed</code></td>
</tr>
</tbody>
</table>
</div>
<div id="标准输入与输出" class="section level3 hasAnchor" number="10.1.3">
<h3><span class="header-section-number">10.1.3</span> 标准输入与输出<a href="cml.html#标准输入与输出" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。命令行逐行读入输入文件。</p>
<p>例如,<code>echo</code>命令的功能是将参数中的字符串直接送到标准输出。</p>
<div class="sourceCode" id="cb5"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb5-1"><a href="cml.html#cb5-1" tabindex="-1"></a><span class="bu">echo</span> <span class="st">"I am using the command line"</span></span></code></pre></div>
<pre><code>## I am using the command line</code></pre>
</div>
<div id="管道与进程管理" class="section level3 hasAnchor" number="10.1.4">
<h3><span class="header-section-number">10.1.4</span> 管道与进程管理<a href="cml.html#管道与进程管理" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p><em>管道</em>可将前一个程序的标准输出和后一个程序的标准输入连接起来,从而将多个程序无线串联起来。默认情况下,键盘是标准输入的端口,屏幕是标准输出的端口。</p>
<div class="sourceCode" id="cb7"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb7-1"><a href="cml.html#cb7-1" tabindex="-1"></a><span class="bu">echo</span> <span class="st">"I am using the command line"</span> <span class="kw">|</span> <span class="fu">wc</span> <span class="at">-c</span></span></code></pre></div>
<pre><code>## 28</code></pre>
<p><em>重定向</em>通过<code><</code>号将标准输入重定向到文件,<code>></code>将标准输出重定向到文件</p>
<div class="sourceCode" id="cb9"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb9-1"><a href="cml.html#cb9-1" tabindex="-1"></a><span class="fu">seq</span> 100 <span class="op">></span> s100</span></code></pre></div>
<p><em>自由管道</em>命令<code>mkfifo</code>可以定义命名管道,后续命令中可以把命名管道作为输出和输入使用。下列代码中,第一行生成命名管道<code>filter</code>,第二行使用<code>tee</code>将<code>seq</code>和<code>grep</code>的结果存入名字为<code>filter</code>的管道中,第三行调出管道,并计算其中包含8的字符。</p>
<div class="sourceCode" id="cb10"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb10-1"><a href="cml.html#cb10-1" tabindex="-1"></a><span class="fu">mkfifo</span> filter.pipe <span class="co"># 生成新的命名管道</span></span>
<span id="cb10-2"><a href="cml.html#cb10-2" tabindex="-1"></a><span class="fu">seq</span> 100<span class="kw">|</span><span class="fu">grep</span> 7<span class="kw">|</span> <span class="fu">tee</span> filter.pipe<span class="kw">|</span> <span class="fu">wc</span> <span class="at">-c</span> <span class="kw">&</span></span>
<span id="cb10-3"><a href="cml.html#cb10-3" tabindex="-1"></a><span class="fu">grep</span> 8 <span class="op"><</span> filter.pipe</span></code></pre></div>
<pre><code>## mkfifo: filter.pipe: File exists
## 56
## 78
## 87</code></pre>
<p>上述命令中,我们使用了<code>&</code>来将命令挂起(即后台运行)。使用<code>jobs</code>命令可以查看后台运行的进程,<code>fg</code>命令可以将后台进程拉至前台,<code>bg</code>命令可以将进程挂起到后台,<code>kill</code>加进程号可以杀死任务。</p>
<p><code>awk</code>与<code>sed</code>命令的学习放在正则表达式之后,正则表达式的例子要单独拿出来分析。</p>
<div class="sourceCode" id="cb12"><pre class="sourceCode python"><code class="sourceCode python"><span id="cb12-1"><a href="cml.html#cb12-1" tabindex="-1"></a><span class="bu">print</span>(<span class="st">"Hello Python!"</span>)</span></code></pre></div>
<pre><code>## Hello Python!</code></pre>
<p><strong>快捷键</strong></p>
<p>ctrl+c
ctrl+d 结束文件</p>
</div>
<div id="别名" class="section level3 hasAnchor" number="10.1.5">
<h3><span class="header-section-number">10.1.5</span> 别名<a href="cml.html#别名" class="anchor-section" aria-label="Anchor link to header"></a></h3>
</div>
<div id="脚本" class="section level3 hasAnchor" number="10.1.6">
<h3><span class="header-section-number">10.1.6</span> 脚本<a href="cml.html#脚本" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>把命令储存在拓展名为<code>.sh</code>的文件中,就形成了脚本文件。<code>bash</code>命令可以运行<code>Shell</code>脚本。</p>
<div class="sourceCode" id="cb14"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb14-1"><a href="cml.html#cb14-1" tabindex="-1"></a><span class="bu">echo</span> <span class="st">"seq 100 | paste -s -d + -| bc"</span> <span class="op">></span> add_up_100.sh</span>
<span id="cb14-2"><a href="cml.html#cb14-2" tabindex="-1"></a><span class="fu">bash</span> add_up_100.sh</span></code></pre></div>
<pre><code>## 5050</code></pre>
<p>在第一行填加脚本解释器 <code>#!/bin/bash</code>,可以告知脚本执行时候要使用<code>/bin/bash</code>
解释执行。此处,<code>#!</code>是约定好的关键字,当它在脚本文件的第一行时,内核会寻找它后面的解释器来执行脚本。</p>
<p>使用<code>chmod +x</code>赋予脚本文件可执行权限之后,就可以直接运行脚本文件。</p>
<div class="sourceCode" id="cb16"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb16-1"><a href="cml.html#cb16-1" tabindex="-1"></a><span class="ex">gsed</span> <span class="st">'1i#!/bin/bash'</span> <span class="at">-i</span> add_up_100.sh <span class="co"># gsed是mac里面的GNU sed</span></span>
<span id="cb16-2"><a href="cml.html#cb16-2" tabindex="-1"></a><span class="fu">cat</span> add_up_100.sh</span>
<span id="cb16-3"><a href="cml.html#cb16-3" tabindex="-1"></a><span class="fu">chmod</span> +x add_up_100.sh</span>
<span id="cb16-4"><a href="cml.html#cb16-4" tabindex="-1"></a><span class="ex">./add_up_100.sh</span></span></code></pre></div>
<pre><code>## #!/bin/bash
## seq 100 | paste -s -d + -| bc
## 5050</code></pre>
</div>
<div id="传参" class="section level3 hasAnchor" number="10.1.7">
<h3><span class="header-section-number">10.1.7</span> 传参<a href="cml.html#传参" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>Bash脚本可以在执行时传递参数,参数以空格分隔,在脚本中可以通过<code>$n</code>来调用第n个参数,<code>$0</code>表示调用脚本名称。例如,脚本<code>args.sh</code>命令如下,</p>
<div class="sourceCode" id="cb18"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb18-1"><a href="cml.html#cb18-1" tabindex="-1"></a><span class="co">#!/bin/bash</span></span>
<span id="cb18-2"><a href="cml.html#cb18-2" tabindex="-1"></a><span class="bu">echo</span> <span class="st">"Bash 传递参数实例!"</span><span class="kw">;</span></span>
<span id="cb18-3"><a href="cml.html#cb18-3" tabindex="-1"></a><span class="bu">echo</span> <span class="st">"执行的文件名:</span><span class="va">$0</span><span class="st">"</span><span class="kw">;</span></span>
<span id="cb18-4"><a href="cml.html#cb18-4" tabindex="-1"></a><span class="bu">echo</span> <span class="st">"第一个参数为:</span><span class="va">$1</span><span class="st">"</span><span class="kw">;</span></span>
<span id="cb18-5"><a href="cml.html#cb18-5" tabindex="-1"></a><span class="bu">echo</span> <span class="st">"第二个参数为:</span><span class="va">$2</span><span class="st">"</span><span class="kw">;</span></span>
<span id="cb18-6"><a href="cml.html#cb18-6" tabindex="-1"></a><span class="bu">echo</span> <span class="st">"第三个参数为:</span><span class="va">$3</span><span class="st">"</span><span class="kw">;</span></span></code></pre></div>
<div class="sourceCode" id="cb19"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb19-1"><a href="cml.html#cb19-1" tabindex="-1"></a><span class="ex">./args.sh</span> a1 b2 c3</span></code></pre></div>
<pre><code>## Shell 传递参数实例!
## 执行的文件名:./args.sh
## 第一个参数为:a1
## 第二个参数为:b2
## 第三个参数为:c3</code></pre>
<p>另外,脚本中还有一些特殊的参数调用方式。</p>
<table>
<thead>
<tr class="header">
<th align="left">参数调用</th>
<th align="left">作用</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td align="left"><code>$#</code></td>