-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathgetting-started-with-r.html
More file actions
752 lines (710 loc) · 78.3 KB
/
Copy pathgetting-started-with-r.html
File metadata and controls
752 lines (710 loc) · 78.3 KB
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
<!DOCTYPE html>
<html lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>2 Getting Started with R | Introduction to R for Crime Analysts</title>
<meta name="description" content="This course is designed to help you transition from SPSS to R, demonstrating that all of the functionality you’re accustomed to in SPSS can be replicated—and often enhanced—in R. By the end of this course, you will be equipped with the knowledge and skills to conduct your analyses in R, whether you’re dealing with basic descriptive statistics, survey data, or more advanced statistical models." />
<meta name="generator" content="bookdown 0.40 and GitBook 2.6.7" />
<meta property="og:title" content="2 Getting Started with R | Introduction to R for Crime Analysts" />
<meta property="og:type" content="book" />
<meta property="og:description" content="This course is designed to help you transition from SPSS to R, demonstrating that all of the functionality you’re accustomed to in SPSS can be replicated—and often enhanced—in R. By the end of this course, you will be equipped with the knowledge and skills to conduct your analyses in R, whether you’re dealing with basic descriptive statistics, survey data, or more advanced statistical models." />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="2 Getting Started with R | Introduction to R for Crime Analysts" />
<meta name="twitter:description" content="This course is designed to help you transition from SPSS to R, demonstrating that all of the functionality you’re accustomed to in SPSS can be replicated—and often enhanced—in R. By the end of this course, you will be equipped with the knowledge and skills to conduct your analyses in R, whether you’re dealing with basic descriptive statistics, survey data, or more advanced statistical models." />
<meta name="author" content="Daniel Hammocks, Senior Data Scientist at Mayor’s Office for Policing and Crime" />
<meta name="date" content="2024-08-28" />
<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="introduction.html"/>
<link rel="next" href="data-management-in-r.html"/>
<script src="libs/jquery-3.6.0/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/fuse.js@6.4.6/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>
<style type="text/css">
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { 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>
<style type="text/css">
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
</style>
<link rel="stylesheet" href="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 class="toc-logo"><a href="./"><img src="images/MOPAC-DS-Square.png"></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>Preface</a>
<ul>
<li class="chapter" data-level="" data-path="index.html"><a href="index.html#purpose-of-this-book"><i class="fa fa-check"></i>Purpose of this Book</a></li>
<li class="chapter" data-level="" data-path="index.html"><a href="index.html#about-the-author"><i class="fa fa-check"></i>About the Author</a></li>
</ul></li>
<li class="chapter" data-level="1" data-path="introduction.html"><a href="introduction.html"><i class="fa fa-check"></i><b>1</b> Introduction</a>
<ul>
<li class="chapter" data-level="1.1" data-path="introduction.html"><a href="introduction.html#overview"><i class="fa fa-check"></i><b>1.1</b> Overview</a></li>
<li class="chapter" data-level="1.2" data-path="introduction.html"><a href="introduction.html#why-learn-r"><i class="fa fa-check"></i><b>1.2</b> Why Learn R?</a>
<ul>
<li class="chapter" data-level="1.2.1" data-path="introduction.html"><a href="introduction.html#flexibility-and-power"><i class="fa fa-check"></i><b>1.2.1</b> Flexibility and Power</a></li>
<li class="chapter" data-level="1.2.2" data-path="introduction.html"><a href="introduction.html#reproducibility"><i class="fa fa-check"></i><b>1.2.2</b> Reproducibility</a></li>
<li class="chapter" data-level="1.2.3" data-path="introduction.html"><a href="introduction.html#extensive-community-and-package-ecosystem"><i class="fa fa-check"></i><b>1.2.3</b> Extensive Community and Package Ecosystem</a></li>
<li class="chapter" data-level="1.2.4" data-path="introduction.html"><a href="introduction.html#cost"><i class="fa fa-check"></i><b>1.2.4</b> Cost</a></li>
</ul></li>
<li class="chapter" data-level="1.3" data-path="introduction.html"><a href="introduction.html#replicating-spss-functionality-in-r"><i class="fa fa-check"></i><b>1.3</b> Replicating SPSS Functionality in R</a>
<ul>
<li class="chapter" data-level="1.3.1" data-path="introduction.html"><a href="introduction.html#data-management"><i class="fa fa-check"></i><b>1.3.1</b> Data Management</a></li>
<li class="chapter" data-level="1.3.2" data-path="introduction.html"><a href="introduction.html#descriptive-statistics"><i class="fa fa-check"></i><b>1.3.2</b> Descriptive Statistics</a></li>
<li class="chapter" data-level="1.3.3" data-path="introduction.html"><a href="introduction.html#statistical-tests"><i class="fa fa-check"></i><b>1.3.3</b> Statistical Tests</a></li>
<li class="chapter" data-level="1.3.4" data-path="introduction.html"><a href="introduction.html#regression-analysis"><i class="fa fa-check"></i><b>1.3.4</b> Regression Analysis</a></li>
<li class="chapter" data-level="1.3.5" data-path="introduction.html"><a href="introduction.html#data-visualisation"><i class="fa fa-check"></i><b>1.3.5</b> Data Visualisation</a></li>
</ul></li>
<li class="chapter" data-level="1.4" data-path="introduction.html"><a href="introduction.html#transitioning-from-spss-to-r"><i class="fa fa-check"></i><b>1.4</b> Transitioning from SPSS to R</a>
<ul>
<li class="chapter" data-level="1.4.1" data-path="introduction.html"><a href="introduction.html#building-confidence-in-r"><i class="fa fa-check"></i><b>1.4.1</b> Building Confidence in R</a></li>
<li class="chapter" data-level="1.4.2" data-path="introduction.html"><a href="introduction.html#leveraging-rs-ecosystem"><i class="fa fa-check"></i><b>1.4.2</b> Leveraging R’s Ecosystem</a></li>
</ul></li>
<li class="chapter" data-level="1.5" data-path="introduction.html"><a href="introduction.html#conclusion"><i class="fa fa-check"></i><b>1.5</b> Conclusion</a></li>
</ul></li>
<li class="chapter" data-level="2" data-path="getting-started-with-r.html"><a href="getting-started-with-r.html"><i class="fa fa-check"></i><b>2</b> Getting Started with R</a>
<ul>
<li class="chapter" data-level="2.1" data-path="getting-started-with-r.html"><a href="getting-started-with-r.html#the-r-environment"><i class="fa fa-check"></i><b>2.1</b> The R Environment</a>
<ul>
<li class="chapter" data-level="2.1.1" data-path="getting-started-with-r.html"><a href="getting-started-with-r.html#overview-of-the-rstudio-interface"><i class="fa fa-check"></i><b>2.1.1</b> Overview of the RStudio Interface</a></li>
<li class="chapter" data-level="2.1.2" data-path="getting-started-with-r.html"><a href="getting-started-with-r.html#console-vs.-scripts-vs.-notebooks"><i class="fa fa-check"></i><b>2.1.2</b> Console vs. Scripts vs. Notebooks</a></li>
</ul></li>
<li class="chapter" data-level="2.2" data-path="getting-started-with-r.html"><a href="getting-started-with-r.html#introduction-to-r-packages-and-installing-key-packages"><i class="fa fa-check"></i><b>2.2</b> Introduction to R Packages and Installing Key Packages</a>
<ul>
<li class="chapter" data-level="2.2.1" data-path="getting-started-with-r.html"><a href="getting-started-with-r.html#introduction-to-r-packages"><i class="fa fa-check"></i><b>2.2.1</b> Introduction to R Packages</a></li>
<li class="chapter" data-level="2.2.2" data-path="getting-started-with-r.html"><a href="getting-started-with-r.html#installing-and-loading-packages"><i class="fa fa-check"></i><b>2.2.2</b> Installing and Loading Packages</a></li>
<li class="chapter" data-level="2.2.3" data-path="getting-started-with-r.html"><a href="getting-started-with-r.html#key-packages-for-data-analysis"><i class="fa fa-check"></i><b>2.2.3</b> Key Packages for Data Analysis</a></li>
<li class="chapter" data-level="2.2.4" data-path="getting-started-with-r.html"><a href="getting-started-with-r.html#managing-package-dependencies"><i class="fa fa-check"></i><b>2.2.4</b> Managing Package Dependencies</a></li>
<li class="chapter" data-level="2.2.5" data-path="getting-started-with-r.html"><a href="getting-started-with-r.html#summary"><i class="fa fa-check"></i><b>2.2.5</b> Summary</a></li>
</ul></li>
<li class="chapter" data-level="2.3" data-path="getting-started-with-r.html"><a href="getting-started-with-r.html#coding-conventions-and-best-practices"><i class="fa fa-check"></i><b>2.3</b> Coding Conventions and Best Practices</a>
<ul>
<li class="chapter" data-level="2.3.1" data-path="getting-started-with-r.html"><a href="getting-started-with-r.html#writing-clean-and-readable-code"><i class="fa fa-check"></i><b>2.3.1</b> Writing Clean and Readable Code</a></li>
<li class="chapter" data-level="2.3.2" data-path="getting-started-with-r.html"><a href="getting-started-with-r.html#commenting-and-structuring-scripts"><i class="fa fa-check"></i><b>2.3.2</b> Commenting and Structuring Scripts</a></li>
</ul></li>
<li class="chapter" data-level="2.4" data-path="getting-started-with-r.html"><a href="getting-started-with-r.html#data-types-and-structures"><i class="fa fa-check"></i><b>2.4</b> Data Types and Structures</a>
<ul>
<li class="chapter" data-level="2.4.1" data-path="getting-started-with-r.html"><a href="getting-started-with-r.html#introduction-to-vectors-data-frames-lists-and-factors"><i class="fa fa-check"></i><b>2.4.1</b> Introduction to Vectors, Data Frames, Lists, and Factors</a></li>
<li class="chapter" data-level="2.4.2" data-path="getting-started-with-r.html"><a href="getting-started-with-r.html#comparing-r-data-types-to-spss-data-types"><i class="fa fa-check"></i><b>2.4.2</b> Comparing R Data Types to SPSS Data Types</a></li>
</ul></li>
<li class="chapter" data-level="2.5" data-path="getting-started-with-r.html"><a href="getting-started-with-r.html#basic-operations-and-functions-in-r"><i class="fa fa-check"></i><b>2.5</b> Basic Operations and Functions in R</a>
<ul>
<li class="chapter" data-level="2.5.1" data-path="getting-started-with-r.html"><a href="getting-started-with-r.html#arithmetic-operations"><i class="fa fa-check"></i><b>2.5.1</b> Arithmetic Operations</a></li>
<li class="chapter" data-level="2.5.2" data-path="getting-started-with-r.html"><a href="getting-started-with-r.html#logical-operations"><i class="fa fa-check"></i><b>2.5.2</b> Logical Operations</a></li>
<li class="chapter" data-level="2.5.3" data-path="getting-started-with-r.html"><a href="getting-started-with-r.html#basic-functions"><i class="fa fa-check"></i><b>2.5.3</b> Basic Functions</a></li>
</ul></li>
<li class="chapter" data-level="2.6" data-path="getting-started-with-r.html"><a href="getting-started-with-r.html#conclusion-1"><i class="fa fa-check"></i><b>2.6</b> Conclusion</a></li>
</ul></li>
<li class="chapter" data-level="3" data-path="data-management-in-r.html"><a href="data-management-in-r.html"><i class="fa fa-check"></i><b>3</b> Data Management in R</a>
<ul>
<li class="chapter" data-level="3.1" data-path="data-management-in-r.html"><a href="data-management-in-r.html#data-import-and-export"><i class="fa fa-check"></i><b>3.1</b> Data Import and Export</a>
<ul>
<li class="chapter" data-level="3.1.1" data-path="data-management-in-r.html"><a href="data-management-in-r.html#importing-data"><i class="fa fa-check"></i><b>3.1.1</b> Importing Data</a></li>
<li class="chapter" data-level="3.1.2" data-path="data-management-in-r.html"><a href="data-management-in-r.html#exporting-data"><i class="fa fa-check"></i><b>3.1.2</b> Exporting Data</a></li>
</ul></li>
<li class="chapter" data-level="3.2" data-path="data-management-in-r.html"><a href="data-management-in-r.html#data-cleaning-and-preparation"><i class="fa fa-check"></i><b>3.2</b> Data Cleaning and Preparation</a>
<ul>
<li class="chapter" data-level="3.2.1" data-path="data-management-in-r.html"><a href="data-management-in-r.html#handling-missing-data"><i class="fa fa-check"></i><b>3.2.1</b> Handling Missing Data</a></li>
<li class="chapter" data-level="3.2.2" data-path="data-management-in-r.html"><a href="data-management-in-r.html#filtering-and-subsetting-data"><i class="fa fa-check"></i><b>3.2.2</b> Filtering and Subsetting Data</a></li>
<li class="chapter" data-level="3.2.3" data-path="data-management-in-r.html"><a href="data-management-in-r.html#data-transformations"><i class="fa fa-check"></i><b>3.2.3</b> Data Transformations</a></li>
<li class="chapter" data-level="3.2.4" data-path="data-management-in-r.html"><a href="data-management-in-r.html#the-dplyr-pipeline"><i class="fa fa-check"></i><b>3.2.4</b> The dplyr Pipeline</a></li>
</ul></li>
<li class="chapter" data-level="3.3" data-path="data-management-in-r.html"><a href="data-management-in-r.html#working-with-categorical-data"><i class="fa fa-check"></i><b>3.3</b> Working with Categorical Data</a>
<ul>
<li class="chapter" data-level="3.3.1" data-path="data-management-in-r.html"><a href="data-management-in-r.html#creating-and-manipulating-factors"><i class="fa fa-check"></i><b>3.3.1</b> Creating and Manipulating Factors</a></li>
<li class="chapter" data-level="3.3.2" data-path="data-management-in-r.html"><a href="data-management-in-r.html#recoding-variables"><i class="fa fa-check"></i><b>3.3.2</b> Recoding Variables</a></li>
<li class="chapter" data-level="3.3.3" data-path="data-management-in-r.html"><a href="data-management-in-r.html#frequency-tables-and-cross-tabulations"><i class="fa fa-check"></i><b>3.3.3</b> Frequency Tables and Cross-Tabulations</a></li>
</ul></li>
<li class="chapter" data-level="3.4" data-path="data-management-in-r.html"><a href="data-management-in-r.html#conclusion-2"><i class="fa fa-check"></i><b>3.4</b> Conclusion</a></li>
</ul></li>
<li class="chapter" data-level="4" data-path="connecting-to-and-accessing-a-postgresql-database.html"><a href="connecting-to-and-accessing-a-postgresql-database.html"><i class="fa fa-check"></i><b>4</b> Connecting to and Accessing a PostgreSQL Database</a>
<ul>
<li class="chapter" data-level="4.1" data-path="connecting-to-and-accessing-a-postgresql-database.html"><a href="connecting-to-and-accessing-a-postgresql-database.html#introduction-1"><i class="fa fa-check"></i><b>4.1</b> Introduction</a></li>
<li class="chapter" data-level="4.2" data-path="connecting-to-and-accessing-a-postgresql-database.html"><a href="connecting-to-and-accessing-a-postgresql-database.html#setting-up-the-environment"><i class="fa fa-check"></i><b>4.2</b> Setting Up the Environment</a>
<ul>
<li class="chapter" data-level="4.2.1" data-path="connecting-to-and-accessing-a-postgresql-database.html"><a href="connecting-to-and-accessing-a-postgresql-database.html#installing-necessary-packages"><i class="fa fa-check"></i><b>4.2.1</b> Installing Necessary Packages</a></li>
</ul></li>
<li class="chapter" data-level="4.3" data-path="connecting-to-and-accessing-a-postgresql-database.html"><a href="connecting-to-and-accessing-a-postgresql-database.html#connecting-to-postgresql-using-rpostgres"><i class="fa fa-check"></i><b>4.3</b> Connecting to PostgreSQL (Using RPostgres)</a></li>
<li class="chapter" data-level="4.4" data-path="connecting-to-and-accessing-a-postgresql-database.html"><a href="connecting-to-and-accessing-a-postgresql-database.html#querying-data-from-postgresql"><i class="fa fa-check"></i><b>4.4</b> Querying Data from PostgreSQL</a>
<ul>
<li class="chapter" data-level="4.4.1" data-path="connecting-to-and-accessing-a-postgresql-database.html"><a href="connecting-to-and-accessing-a-postgresql-database.html#executing-a-query"><i class="fa fa-check"></i><b>4.4.1</b> Executing a Query</a></li>
</ul></li>
<li class="chapter" data-level="4.5" data-path="connecting-to-and-accessing-a-postgresql-database.html"><a href="connecting-to-and-accessing-a-postgresql-database.html#handling-errors-and-troubleshooting"><i class="fa fa-check"></i><b>4.5</b> Handling Errors and Troubleshooting</a></li>
<li class="chapter" data-level="4.6" data-path="connecting-to-and-accessing-a-postgresql-database.html"><a href="connecting-to-and-accessing-a-postgresql-database.html#conclusion-3"><i class="fa fa-check"></i><b>4.6</b> Conclusion</a></li>
</ul></li>
<li class="chapter" data-level="5" data-path="descriptive-statistics-and-visualisations.html"><a href="descriptive-statistics-and-visualisations.html"><i class="fa fa-check"></i><b>5</b> Descriptive Statistics and Visualisations</a>
<ul>
<li class="chapter" data-level="5.1" data-path="descriptive-statistics-and-visualisations.html"><a href="descriptive-statistics-and-visualisations.html#introduction-to-descriptive-statistics"><i class="fa fa-check"></i><b>5.1</b> Introduction to Descriptive Statistics</a>
<ul>
<li class="chapter" data-level="5.1.1" data-path="descriptive-statistics-and-visualisations.html"><a href="descriptive-statistics-and-visualisations.html#understanding-descriptive-statistics"><i class="fa fa-check"></i><b>5.1.1</b> Understanding Descriptive Statistics</a></li>
<li class="chapter" data-level="5.1.2" data-path="descriptive-statistics-and-visualisations.html"><a href="descriptive-statistics-and-visualisations.html#basic-descriptive-statistics-in-r"><i class="fa fa-check"></i><b>5.1.2</b> Basic Descriptive Statistics in R</a></li>
</ul></li>
<li class="chapter" data-level="5.2" data-path="descriptive-statistics-and-visualisations.html"><a href="descriptive-statistics-and-visualisations.html#creating-visualisations-with-ggplot2"><i class="fa fa-check"></i><b>5.2</b> Creating Visualisations with ggplot2</a>
<ul>
<li class="chapter" data-level="5.2.1" data-path="descriptive-statistics-and-visualisations.html"><a href="descriptive-statistics-and-visualisations.html#introduction-to-ggplot2"><i class="fa fa-check"></i><b>5.2.1</b> Introduction to ggplot2</a></li>
<li class="chapter" data-level="5.2.2" data-path="descriptive-statistics-and-visualisations.html"><a href="descriptive-statistics-and-visualisations.html#creating-basic-plots"><i class="fa fa-check"></i><b>5.2.2</b> Creating Basic Plots</a></li>
<li class="chapter" data-level="5.2.3" data-path="descriptive-statistics-and-visualisations.html"><a href="descriptive-statistics-and-visualisations.html#customising-your-plots"><i class="fa fa-check"></i><b>5.2.3</b> Customising Your Plots</a></li>
</ul></li>
<li class="chapter" data-level="5.3" data-path="descriptive-statistics-and-visualisations.html"><a href="descriptive-statistics-and-visualisations.html#descriptive-statistics-with-dplyr"><i class="fa fa-check"></i><b>5.3</b> Descriptive Statistics with dplyr</a>
<ul>
<li class="chapter" data-level="5.3.1" data-path="descriptive-statistics-and-visualisations.html"><a href="descriptive-statistics-and-visualisations.html#using-dplyr-to-summarise-data"><i class="fa fa-check"></i><b>5.3.1</b> Using dplyr to Summarise Data</a></li>
<li class="chapter" data-level="5.3.2" data-path="descriptive-statistics-and-visualisations.html"><a href="descriptive-statistics-and-visualisations.html#combining-dplyr-with-ggplot2"><i class="fa fa-check"></i><b>5.3.2</b> Combining dplyr with ggplot2</a></li>
</ul></li>
<li class="chapter" data-level="5.4" data-path="descriptive-statistics-and-visualisations.html"><a href="descriptive-statistics-and-visualisations.html#advanced-visualisation-techniques"><i class="fa fa-check"></i><b>5.4</b> Advanced Visualisation Techniques</a>
<ul>
<li class="chapter" data-level="5.4.1" data-path="descriptive-statistics-and-visualisations.html"><a href="descriptive-statistics-and-visualisations.html#faceting"><i class="fa fa-check"></i><b>5.4.1</b> Faceting</a></li>
<li class="chapter" data-level="5.4.2" data-path="descriptive-statistics-and-visualisations.html"><a href="descriptive-statistics-and-visualisations.html#combining-multiple-geoms"><i class="fa fa-check"></i><b>5.4.2</b> Combining Multiple Geoms</a></li>
<li class="chapter" data-level="5.4.3" data-path="descriptive-statistics-and-visualisations.html"><a href="descriptive-statistics-and-visualisations.html#saving-your-plots"><i class="fa fa-check"></i><b>5.4.3</b> Saving Your Plots</a></li>
</ul></li>
<li class="chapter" data-level="5.5" data-path="descriptive-statistics-and-visualisations.html"><a href="descriptive-statistics-and-visualisations.html#conclusion-4"><i class="fa fa-check"></i><b>5.5</b> Conclusion</a></li>
</ul></li>
<li class="chapter" data-level="6" data-path="survey-analysis-in-r.html"><a href="survey-analysis-in-r.html"><i class="fa fa-check"></i><b>6</b> Survey Analysis in R</a>
<ul>
<li class="chapter" data-level="6.1" data-path="survey-analysis-in-r.html"><a href="survey-analysis-in-r.html#introduction-to-survey-data"><i class="fa fa-check"></i><b>6.1</b> Introduction to Survey Data</a>
<ul>
<li class="chapter" data-level="6.1.1" data-path="survey-analysis-in-r.html"><a href="survey-analysis-in-r.html#key-concepts-in-survey-analysis"><i class="fa fa-check"></i><b>6.1.1</b> Key Concepts in Survey Analysis</a></li>
<li class="chapter" data-level="6.1.2" data-path="survey-analysis-in-r.html"><a href="survey-analysis-in-r.html#understanding-survey-data-structures"><i class="fa fa-check"></i><b>6.1.2</b> Understanding Survey Data Structures</a></li>
</ul></li>
<li class="chapter" data-level="6.2" data-path="survey-analysis-in-r.html"><a href="survey-analysis-in-r.html#importing-and-preparing-survey-data"><i class="fa fa-check"></i><b>6.2</b> Importing and Preparing Survey Data</a>
<ul>
<li class="chapter" data-level="6.2.1" data-path="survey-analysis-in-r.html"><a href="survey-analysis-in-r.html#converting-data-for-survey-analysis"><i class="fa fa-check"></i><b>6.2.1</b> Converting Data for Survey Analysis</a></li>
</ul></li>
<li class="chapter" data-level="6.3" data-path="survey-analysis-in-r.html"><a href="survey-analysis-in-r.html#descriptive-analysis-of-survey-data"><i class="fa fa-check"></i><b>6.3</b> Descriptive Analysis of Survey Data</a>
<ul>
<li class="chapter" data-level="6.3.1" data-path="survey-analysis-in-r.html"><a href="survey-analysis-in-r.html#calculating-means-and-totals"><i class="fa fa-check"></i><b>6.3.1</b> Calculating Means and Totals</a></li>
<li class="chapter" data-level="6.3.2" data-path="survey-analysis-in-r.html"><a href="survey-analysis-in-r.html#frequencies-and-cross-tabulations"><i class="fa fa-check"></i><b>6.3.2</b> Frequencies and Cross-tabulations</a></li>
<li class="chapter" data-level="6.3.3" data-path="survey-analysis-in-r.html"><a href="survey-analysis-in-r.html#comparing-results-with-spss-survey-functions"><i class="fa fa-check"></i><b>6.3.3</b> Comparing Results with SPSS Survey Functions</a></li>
</ul></li>
<li class="chapter" data-level="6.4" data-path="survey-analysis-in-r.html"><a href="survey-analysis-in-r.html#weighting-survey-data"><i class="fa fa-check"></i><b>6.4</b> Weighting Survey Data</a>
<ul>
<li class="chapter" data-level="6.4.1" data-path="survey-analysis-in-r.html"><a href="survey-analysis-in-r.html#applying-weights"><i class="fa fa-check"></i><b>6.4.1</b> Applying Weights</a></li>
<li class="chapter" data-level="6.4.2" data-path="survey-analysis-in-r.html"><a href="survey-analysis-in-r.html#analysing-weighted-survey-data"><i class="fa fa-check"></i><b>6.4.2</b> Analysing Weighted Survey Data</a></li>
</ul></li>
<li class="chapter" data-level="6.5" data-path="survey-analysis-in-r.html"><a href="survey-analysis-in-r.html#conclusion-5"><i class="fa fa-check"></i><b>6.5</b> Conclusion</a></li>
</ul></li>
<li class="chapter" data-level="7" data-path="inferential-statistics.html"><a href="inferential-statistics.html"><i class="fa fa-check"></i><b>7</b> Inferential Statistics</a>
<ul>
<li class="chapter" data-level="7.1" data-path="inferential-statistics.html"><a href="inferential-statistics.html#hypothesis-testing"><i class="fa fa-check"></i><b>7.1</b> Hypothesis Testing</a>
<ul>
<li class="chapter" data-level="7.1.1" data-path="inferential-statistics.html"><a href="inferential-statistics.html#t-tests"><i class="fa fa-check"></i><b>7.1.1</b> T-tests</a></li>
<li class="chapter" data-level="7.1.2" data-path="inferential-statistics.html"><a href="inferential-statistics.html#chi-square-tests"><i class="fa fa-check"></i><b>7.1.2</b> Chi-square Tests</a></li>
<li class="chapter" data-level="7.1.3" data-path="inferential-statistics.html"><a href="inferential-statistics.html#anova-analysis-of-variance"><i class="fa fa-check"></i><b>7.1.3</b> ANOVA (Analysis of Variance)</a></li>
</ul></li>
<li class="chapter" data-level="7.2" data-path="inferential-statistics.html"><a href="inferential-statistics.html#correlation-analysis"><i class="fa fa-check"></i><b>7.2</b> Correlation Analysis</a>
<ul>
<li class="chapter" data-level="7.2.1" data-path="inferential-statistics.html"><a href="inferential-statistics.html#pearson-correlation"><i class="fa fa-check"></i><b>7.2.1</b> Pearson Correlation</a></li>
<li class="chapter" data-level="7.2.2" data-path="inferential-statistics.html"><a href="inferential-statistics.html#spearman-correlation"><i class="fa fa-check"></i><b>7.2.2</b> Spearman Correlation</a></li>
<li class="chapter" data-level="7.2.3" data-path="inferential-statistics.html"><a href="inferential-statistics.html#pearson-vs-spearman"><i class="fa fa-check"></i><b>7.2.3</b> Pearson vs Spearman?</a></li>
<li class="chapter" data-level="7.2.4" data-path="inferential-statistics.html"><a href="inferential-statistics.html#visualising-correlations"><i class="fa fa-check"></i><b>7.2.4</b> Visualising Correlations</a></li>
</ul></li>
<li class="chapter" data-level="7.3" data-path="inferential-statistics.html"><a href="inferential-statistics.html#conclusion-6"><i class="fa fa-check"></i><b>7.3</b> Conclusion</a></li>
</ul></li>
<li class="chapter" data-level="8" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html"><i class="fa fa-check"></i><b>8</b> Regression Analysis</a>
<ul>
<li class="chapter" data-level="8.1" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#introduction-to-regression-analysis"><i class="fa fa-check"></i><b>8.1</b> Introduction to Regression Analysis</a>
<ul>
<li class="chapter" data-level="8.1.1" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#what-is-linear-regression"><i class="fa fa-check"></i><b>8.1.1</b> What is Linear Regression?</a></li>
</ul></li>
<li class="chapter" data-level="8.2" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#simple-linear-regression-in-r"><i class="fa fa-check"></i><b>8.2</b> Simple Linear Regression in R</a>
<ul>
<li class="chapter" data-level="8.2.1" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#performing-simple-linear-regression"><i class="fa fa-check"></i><b>8.2.1</b> Performing Simple Linear Regression</a></li>
<li class="chapter" data-level="8.2.2" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#interpreting-the-output"><i class="fa fa-check"></i><b>8.2.2</b> Interpreting the Output</a></li>
</ul></li>
<li class="chapter" data-level="8.3" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#multiple-linear-regression"><i class="fa fa-check"></i><b>8.3</b> Multiple Linear Regression</a>
<ul>
<li class="chapter" data-level="8.3.1" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#performing-multiple-linear-regression"><i class="fa fa-check"></i><b>8.3.1</b> Performing Multiple Linear Regression</a></li>
<li class="chapter" data-level="8.3.2" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#detailed-interpretation-of-the-output"><i class="fa fa-check"></i><b>8.3.2</b> Detailed Interpretation of the Output</a></li>
</ul></li>
<li class="chapter" data-level="8.4" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#checking-model-assumptions"><i class="fa fa-check"></i><b>8.4</b> Checking Model Assumptions</a>
<ul>
<li class="chapter" data-level="8.4.1" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#assumption-1-linearity"><i class="fa fa-check"></i><b>8.4.1</b> Assumption 1: Linearity</a></li>
<li class="chapter" data-level="8.4.2" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#assumption-2-normality-of-residuals"><i class="fa fa-check"></i><b>8.4.2</b> Assumption 2: Normality of Residuals</a></li>
<li class="chapter" data-level="8.4.3" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#assumption-3-homoscedasticity"><i class="fa fa-check"></i><b>8.4.3</b> Assumption 3: Homoscedasticity</a></li>
<li class="chapter" data-level="8.4.4" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#assumption-4-independence-of-errors"><i class="fa fa-check"></i><b>8.4.4</b> Assumption 4: Independence of Errors</a></li>
<li class="chapter" data-level="8.4.5" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#assumption-5-multicollinearity"><i class="fa fa-check"></i><b>8.4.5</b> Assumption 5: Multicollinearity</a></li>
</ul></li>
<li class="chapter" data-level="8.5" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#transformations-and-interaction-terms"><i class="fa fa-check"></i><b>8.5</b> Transformations and Interaction Terms</a>
<ul>
<li class="chapter" data-level="8.5.1" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#when-and-how-to-apply-transformations"><i class="fa fa-check"></i><b>8.5.1</b> When and How to Apply Transformations</a></li>
<li class="chapter" data-level="8.5.2" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#using-interaction-terms"><i class="fa fa-check"></i><b>8.5.2</b> Using Interaction Terms</a></li>
</ul></li>
<li class="chapter" data-level="8.6" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#logistic-regression"><i class="fa fa-check"></i><b>8.6</b> Logistic Regression</a>
<ul>
<li class="chapter" data-level="8.6.1" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#performing-logistic-regression-in-r"><i class="fa fa-check"></i><b>8.6.1</b> Performing Logistic Regression in R</a></li>
<li class="chapter" data-level="8.6.2" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#interpreting-logistic-regression-output"><i class="fa fa-check"></i><b>8.6.2</b> Interpreting Logistic Regression Output</a></li>
</ul></li>
<li class="chapter" data-level="8.7" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#checking-model-assumptions-for-logistic-regression"><i class="fa fa-check"></i><b>8.7</b> Checking Model Assumptions for Logistic Regression</a>
<ul>
<li class="chapter" data-level="8.7.1" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#assumption-1-linearity-of-the-logit"><i class="fa fa-check"></i><b>8.7.1</b> Assumption 1: Linearity of the Logit</a></li>
<li class="chapter" data-level="8.7.2" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#assumption-2-independence-of-observations"><i class="fa fa-check"></i><b>8.7.2</b> Assumption 2: Independence of Observations</a></li>
<li class="chapter" data-level="8.7.3" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#assumption-3-absence-of-multicollinearity"><i class="fa fa-check"></i><b>8.7.3</b> Assumption 3: Absence of Multicollinearity</a></li>
<li class="chapter" data-level="8.7.4" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#assumption-4-sufficient-sample-size"><i class="fa fa-check"></i><b>8.7.4</b> Assumption 4: Sufficient Sample Size</a></li>
</ul></li>
<li class="chapter" data-level="8.8" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#model-validation-and-diagnostics"><i class="fa fa-check"></i><b>8.8</b> Model Validation and Diagnostics</a>
<ul>
<li class="chapter" data-level="8.8.1" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#cross-validation"><i class="fa fa-check"></i><b>8.8.1</b> Cross-Validation</a></li>
<li class="chapter" data-level="8.8.2" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#dealing-with-overfitting"><i class="fa fa-check"></i><b>8.8.2</b> Dealing with Overfitting</a></li>
</ul></li>
<li class="chapter" data-level="8.9" data-path="regression-analysis-1.html"><a href="regression-analysis-1.html#conclusion-7"><i class="fa fa-check"></i><b>8.9</b> Conclusion</a></li>
</ul></li>
<li class="chapter" data-level="9" data-path="geographic-mapping-and-spatial-analysis.html"><a href="geographic-mapping-and-spatial-analysis.html"><i class="fa fa-check"></i><b>9</b> Geographic Mapping and Spatial Analysis</a>
<ul>
<li class="chapter" data-level="9.1" data-path="geographic-mapping-and-spatial-analysis.html"><a href="geographic-mapping-and-spatial-analysis.html#introduction-to-geographic-data-in-r"><i class="fa fa-check"></i><b>9.1</b> Introduction to Geographic Data in R</a>
<ul>
<li class="chapter" data-level="9.1.1" data-path="geographic-mapping-and-spatial-analysis.html"><a href="geographic-mapping-and-spatial-analysis.html#understanding-geographic-data-formats"><i class="fa fa-check"></i><b>9.1.1</b> Understanding Geographic Data Formats</a></li>
<li class="chapter" data-level="9.1.2" data-path="geographic-mapping-and-spatial-analysis.html"><a href="geographic-mapping-and-spatial-analysis.html#importing-and-handling-spatial-data-with-the-sf-package"><i class="fa fa-check"></i><b>9.1.2</b> Importing and Handling Spatial Data with the <code>sf</code> Package</a></li>
</ul></li>
<li class="chapter" data-level="9.2" data-path="geographic-mapping-and-spatial-analysis.html"><a href="geographic-mapping-and-spatial-analysis.html#geographic-coordinate-systems-and-projections"><i class="fa fa-check"></i><b>9.2</b> Geographic Coordinate Systems and Projections</a>
<ul>
<li class="chapter" data-level="9.2.1" data-path="geographic-mapping-and-spatial-analysis.html"><a href="geographic-mapping-and-spatial-analysis.html#introduction-to-coordinate-systems"><i class="fa fa-check"></i><b>9.2.1</b> Introduction to Coordinate Systems</a></li>
<li class="chapter" data-level="9.2.2" data-path="geographic-mapping-and-spatial-analysis.html"><a href="geographic-mapping-and-spatial-analysis.html#common-issues-with-coordinate-systems-in-r"><i class="fa fa-check"></i><b>9.2.2</b> Common Issues with Coordinate Systems in R</a></li>
<li class="chapter" data-level="9.2.3" data-path="geographic-mapping-and-spatial-analysis.html"><a href="geographic-mapping-and-spatial-analysis.html#handling-coordinate-systems-in-r"><i class="fa fa-check"></i><b>9.2.3</b> Handling Coordinate Systems in R</a></li>
<li class="chapter" data-level="9.2.4" data-path="geographic-mapping-and-spatial-analysis.html"><a href="geographic-mapping-and-spatial-analysis.html#practical-considerations"><i class="fa fa-check"></i><b>9.2.4</b> Practical Considerations</a></li>
</ul></li>
<li class="chapter" data-level="9.3" data-path="geographic-mapping-and-spatial-analysis.html"><a href="geographic-mapping-and-spatial-analysis.html#creating-basic-maps"><i class="fa fa-check"></i><b>9.3</b> Creating Basic Maps</a>
<ul>
<li class="chapter" data-level="9.3.1" data-path="geographic-mapping-and-spatial-analysis.html"><a href="geographic-mapping-and-spatial-analysis.html#plotting-data-on-maps-using-ggplot2-and-sf"><i class="fa fa-check"></i><b>9.3.1</b> Plotting Data on Maps Using ggplot2 and sf</a></li>
<li class="chapter" data-level="9.3.2" data-path="geographic-mapping-and-spatial-analysis.html"><a href="geographic-mapping-and-spatial-analysis.html#customising-maps"><i class="fa fa-check"></i><b>9.3.2</b> Customising Maps</a></li>
</ul></li>
<li class="chapter" data-level="9.4" data-path="geographic-mapping-and-spatial-analysis.html"><a href="geographic-mapping-and-spatial-analysis.html#spatial-analysis"><i class="fa fa-check"></i><b>9.4</b> Spatial Analysis</a>
<ul>
<li class="chapter" data-level="9.4.1" data-path="geographic-mapping-and-spatial-analysis.html"><a href="geographic-mapping-and-spatial-analysis.html#basic-spatial-operations"><i class="fa fa-check"></i><b>9.4.1</b> Basic Spatial Operations</a></li>
<li class="chapter" data-level="9.4.2" data-path="geographic-mapping-and-spatial-analysis.html"><a href="geographic-mapping-and-spatial-analysis.html#creating-choropleth-maps"><i class="fa fa-check"></i><b>9.4.2</b> Creating Choropleth Maps</a></li>
</ul></li>
<li class="chapter" data-level="9.5" data-path="geographic-mapping-and-spatial-analysis.html"><a href="geographic-mapping-and-spatial-analysis.html#conclusion-8"><i class="fa fa-check"></i><b>9.5</b> Conclusion</a></li>
</ul></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html"><i class="fa fa-check"></i>Exercise Answers</a>
<ul>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#chapter-2"><i class="fa fa-check"></i>Chapter 2</a>
<ul>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-2.1"><i class="fa fa-check"></i>Exercise 2.1</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-2.2"><i class="fa fa-check"></i>Exercise 2.2</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-2.3"><i class="fa fa-check"></i>Exercise 2.3</a></li>
</ul></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#chapter-3"><i class="fa fa-check"></i>Chapter 3</a>
<ul>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-3.1"><i class="fa fa-check"></i>Exercise 3.1</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-3.2"><i class="fa fa-check"></i>Exercise 3.2</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-3.3"><i class="fa fa-check"></i>Exercise 3.3</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-3.4"><i class="fa fa-check"></i>Exercise 3.4</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-3.5"><i class="fa fa-check"></i>Exercise 3.5</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-3.6"><i class="fa fa-check"></i>Exercise 3.6</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-3.7"><i class="fa fa-check"></i>Exercise 3.7</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-3.8"><i class="fa fa-check"></i>Exercise 3.8</a></li>
</ul></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#chapter-5"><i class="fa fa-check"></i>Chapter 5</a>
<ul>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-5.1"><i class="fa fa-check"></i>Exercise 5.1</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#excercise-5.2"><i class="fa fa-check"></i>Excercise 5.2</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-5.3"><i class="fa fa-check"></i>Exercise 5.3</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-5.4"><i class="fa fa-check"></i>Exercise 5.4</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-5.6"><i class="fa fa-check"></i>Exercise 5.6</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-5.7"><i class="fa fa-check"></i>Exercise 5.7</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-5.8"><i class="fa fa-check"></i>Exercise 5.8</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#excerise-5.9"><i class="fa fa-check"></i>Excerise 5.9</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-5.10"><i class="fa fa-check"></i>Exercise 5.10</a></li>
</ul></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#chapter-6"><i class="fa fa-check"></i>Chapter 6</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#chapter-7"><i class="fa fa-check"></i>Chapter 7</a>
<ul>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-7.1"><i class="fa fa-check"></i>Exercise 7.1</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-7.2"><i class="fa fa-check"></i>Exercise 7.2</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-7.3"><i class="fa fa-check"></i>Exercise 7.3</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-7.4"><i class="fa fa-check"></i>Exercise 7.4</a></li>
</ul></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#chapter-8"><i class="fa fa-check"></i>Chapter 8</a>
<ul>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-8.1"><i class="fa fa-check"></i>Exercise 8.1</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-8.2"><i class="fa fa-check"></i>Exercise 8.2</a></li>
</ul></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#chapter-9"><i class="fa fa-check"></i>Chapter 9</a>
<ul>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-9.1"><i class="fa fa-check"></i>Exercise 9.1</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-9.2"><i class="fa fa-check"></i>Exercise 9.2</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-9.3"><i class="fa fa-check"></i>Exercise 9.3</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-9.4"><i class="fa fa-check"></i>Exercise 9.4</a></li>
<li class="chapter" data-level="" data-path="exercise-answers.html"><a href="exercise-answers.html#exercise-9.5"><i class="fa fa-check"></i>Exercise 9.5</a></li>
</ul></li>
</ul></li>
<li class="divider"></li>
<li><a href="https://github.com/rstudio/bookdown" target="blank">Published with 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="./">Introduction to R for Crime Analysts</a>
</h1>
</div>
<div class="page-wrapper" tabindex="-1" role="main">
<div class="page-inner">
<section class="normal" id="section-">
<div id="getting-started-with-r" class="section level1 hasAnchor" number="2">
<h1><span class="header-section-number">2</span> Getting Started with R<a href="getting-started-with-r.html#getting-started-with-r" class="anchor-section" aria-label="Anchor link to header"></a></h1>
<div id="the-r-environment" class="section level2 hasAnchor" number="2.1">
<h2><span class="header-section-number">2.1</span> The R Environment<a href="getting-started-with-r.html#the-r-environment" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<div id="overview-of-the-rstudio-interface" class="section level3 hasAnchor" number="2.1.1">
<h3><span class="header-section-number">2.1.1</span> Overview of the RStudio Interface<a href="getting-started-with-r.html#overview-of-the-rstudio-interface" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>RStudio is a powerful integrated development environment (IDE) that provides a user-friendly interface for working with R. Understanding its layout will help you navigate and utilise its features effectively.</p>
<ul>
<li><p><strong>Script Editor:</strong> This is where you write and save your R scripts. You can execute lines of code or entire scripts from here.</p></li>
<li><p><strong>Console:</strong> The Console displays the output of your commands and allows you to run R code directly. It’s useful for quick calculations and immediate feedback.</p></li>
<li><p><strong>Environment/History Pane:</strong> The Environment pane shows the objects (e.g., data frames, variables) in your current R session. The History tab logs commands you’ve executed.</p></li>
<li><p><strong>Files/Plots/Packages/Help Pane:</strong> This multi-functional pane lets you manage files, view plots, install/load packages, and access R’s help system.</p></li>
</ul>
<div class="figure"><span style="display:block;" id="fig:unnamed-chunk-2"></span>
<img src="images/RStudio_Overview.png" alt="RStudio IDE Layout" width="960" />
<p class="caption">
Figure 2.1: RStudio IDE Layout
</p>
</div>
</div>
<div id="console-vs.-scripts-vs.-notebooks" class="section level3 hasAnchor" number="2.1.2">
<h3><span class="header-section-number">2.1.2</span> Console vs. Scripts vs. Notebooks<a href="getting-started-with-r.html#console-vs.-scripts-vs.-notebooks" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<ul>
<li><strong>Console:</strong> Ideal for quick calculations and testing small pieces of code. Commands typed here are executed immediately.</li>
<li><strong>Scripts:</strong> These are text files with R code that you can save and run as needed. Scripts are useful for documenting your workflow and making analyses reproducible.</li>
<li><strong>Notebooks:</strong> R Notebooks combine code, output, and markdown text in one document. They are great for creating interactive reports and combining narrative with code.</li>
</ul>
<div class="figure"><span style="display:block;" id="fig:unnamed-chunk-3"></span>
<img src="images/RStudio_RScript.png" alt="Example R Script" width="752" />
<p class="caption">
Figure 2.2: Example R Script
</p>
</div>
<div class="figure"><span style="display:block;" id="fig:unnamed-chunk-4"></span>
<img src="images/RStudio_RNotebook.png" alt="Example R Notebook with Text, Code, and Output Areas Labelled" width="744" />
<p class="caption">
Figure 2.3: Example R Notebook with Text, Code, and Output Areas Labelled
</p>
</div>
</div>
</div>
<div id="introduction-to-r-packages-and-installing-key-packages" class="section level2 hasAnchor" number="2.2">
<h2><span class="header-section-number">2.2</span> Introduction to R Packages and Installing Key Packages<a href="getting-started-with-r.html#introduction-to-r-packages-and-installing-key-packages" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<p>R comes with a robust set of core functions that allow you to perform a wide range of statistical analyses and data manipulations. However, the true power of R lies in its extensive ecosystem of packages, which extend its functionality far beyond the basics. These packages, developed by the global R community, enable users to perform specialised tasks, from advanced statistical modelling and machine learning to data visualisation and spatial analysis. Understanding how to install and use these packages is key to unlocking the full potential of R.</p>
<div id="introduction-to-r-packages" class="section level3 hasAnchor" number="2.2.1">
<h3><span class="header-section-number">2.2.1</span> Introduction to R Packages<a href="getting-started-with-r.html#introduction-to-r-packages" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>A package in R is a collection of functions, data, and documentation that extends the base functionality of R. There are thousands of packages available, each designed to solve specific problems or add capabilities to your R environment.</p>
<p>Using packages allows you to leverage the work of other developers and statisticians, saving you time and effort.</p>
</div>
<div id="installing-and-loading-packages" class="section level3 hasAnchor" number="2.2.2">
<h3><span class="header-section-number">2.2.2</span> Installing and Loading Packages<a href="getting-started-with-r.html#installing-and-loading-packages" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>To use a package in R, you first need to install it, and then load it into your current R session. Packages are typically installed from the Comprehensive R Archive Network (CRAN), which is the primary repository for R packages.</p>
<p><strong>Installing a Package</strong>
To install a package, use the <code>install.packages()</code> function. For example, to install the <code>ggplot2</code> package, which is used for creating visualisations, you would run:</p>
<div class="sourceCode" id="cb1"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb1-1"><a href="getting-started-with-r.html#cb1-1" tabindex="-1"></a><span class="fu">install.packages</span>(<span class="st">"ggplot2"</span>)</span></code></pre></div>
<p>This command downloads the package from CRAN and installs it on your system. You only need to install a package once on your machine.</p>
<p><strong>Loading a Package</strong>
Once a package is installed, you need to load it into your current R session using the <code>library()</code> function. For example:</p>
<div class="sourceCode" id="cb2"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb2-1"><a href="getting-started-with-r.html#cb2-1" tabindex="-1"></a><span class="fu">library</span>(ggplot2)</span></code></pre></div>
<p>After loading the package, you can use its functions in your R code.</p>
<p><strong>Installing Multiple Packages at Once</strong>
You can install multiple packages at once by passing a vector (we will come onto these later!)
of package names to <code>install.packages()</code>:</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb3-1"><a href="getting-started-with-r.html#cb3-1" tabindex="-1"></a><span class="fu">install.packages</span>(<span class="fu">c</span>(<span class="st">"dplyr"</span>, <span class="st">"ggplot2"</span>, <span class="st">"tidyr"</span>))</span></code></pre></div>
<p>This is useful when you’re setting up a new R environment or working on a project that requires several packages.</p>
</div>
<div id="key-packages-for-data-analysis" class="section level3 hasAnchor" number="2.2.3">
<h3><span class="header-section-number">2.2.3</span> Key Packages for Data Analysis<a href="getting-started-with-r.html#key-packages-for-data-analysis" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>For those transitioning from SPSS to R, here are some key packages you’ll frequently use:</p>
<ul>
<li><p><code>tidyverse</code>: A collection of packages for data manipulation, exploration, and visualisation. It includes packages like dplyr, ggplot2, tidyr, and readr.</p></li>
<li><p><code>haven</code>: Used to import and export SPSS, Stata, and SAS files. This package is essential for working with data originally created in SPSS.</p></li>
<li><p><code>dplyr</code>: A package for data manipulation. It provides functions for filtering, selecting, and transforming data, making it easier to manage datasets.</p></li>
<li><p><code>ggplot2</code>: A powerful package for creating complex visualisations. It is part of the tidyverse and is widely used for creating a variety of plots.</p></li>
<li><p><code>readr</code>: For importing and exporting CSV and other flat files. It provides functions that are faster and more flexible than base R’s equivalent functions.</p></li>
<li><p><code>sf</code>: If you are working with spatial data, <code>sf</code> is essential. It provides a simple feature (sf) framework for handling and analysing spatial data.</p></li>
<li><p><code>survey</code>: For survey data analysis. This package provides tools for analysing complex survey samples, including handling survey weights.</p></li>
<li><p><code>psych</code>: Useful for psychological research and other fields involving human behaviour. It provides tools for descriptive statistics, factor analysis, and more.</p></li>
</ul>
</div>
<div id="managing-package-dependencies" class="section level3 hasAnchor" number="2.2.4">
<h3><span class="header-section-number">2.2.4</span> Managing Package Dependencies<a href="getting-started-with-r.html#managing-package-dependencies" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>When working with projects, it’s important to manage package dependencies to ensure that your code runs smoothly on different systems. Consider using the renv package to manage project-specific dependencies. This package allows you to create isolated environments for your R projects, ensuring that the correct versions of packages are used.</p>
<div class="sourceCode" id="cb4"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb4-1"><a href="getting-started-with-r.html#cb4-1" tabindex="-1"></a><span class="fu">install.packages</span>(<span class="st">"renv"</span>)</span>
<span id="cb4-2"><a href="getting-started-with-r.html#cb4-2" tabindex="-1"></a>renv<span class="sc">::</span><span class="fu">init</span>()</span></code></pre></div>
</div>
<div id="summary" class="section level3 hasAnchor" number="2.2.5">
<h3><span class="header-section-number">2.2.5</span> Summary<a href="getting-started-with-r.html#summary" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>R packages are a cornerstone of efficient and effective data analysis in R. Understanding how to install and load packages, as well as identifying key packages for your analysis, will significantly enhance your ability to work with data in R. By mastering packages, you unlock the full potential of R and make your workflow more powerful and streamlined. Throughout this book we will utilise a number of packages so make sure you are familiar with installing and loading different packages.</p>
</div>
</div>
<div id="coding-conventions-and-best-practices" class="section level2 hasAnchor" number="2.3">
<h2><span class="header-section-number">2.3</span> Coding Conventions and Best Practices<a href="getting-started-with-r.html#coding-conventions-and-best-practices" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<p>In this section we briefly touch on coding conventions and best practices. However, we recommend you check out our other book on the <a href="https://mopac-ds.github.io/Learning-Resource-Best-Coding-Practices-in-R/index.html">Best Coding Practices in R</a>.</p>
<div id="writing-clean-and-readable-code" class="section level3 hasAnchor" number="2.3.1">
<h3><span class="header-section-number">2.3.1</span> Writing Clean and Readable Code<a href="getting-started-with-r.html#writing-clean-and-readable-code" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>Good coding practices enhance readability and maintainability. Here are some guidelines:</p>
<p><strong>Use Descriptive Names:</strong> Choose meaningful variable and function names that describe their purpose.</p>
<div class="sourceCode" id="cb5"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb5-1"><a href="getting-started-with-r.html#cb5-1" tabindex="-1"></a><span class="co"># Good Variable Name Example</span></span>
<span id="cb5-2"><a href="getting-started-with-r.html#cb5-2" tabindex="-1"></a>total_boroughs <span class="ot"><-</span> <span class="dv">32</span></span>
<span id="cb5-3"><a href="getting-started-with-r.html#cb5-3" tabindex="-1"></a></span>
<span id="cb5-4"><a href="getting-started-with-r.html#cb5-4" tabindex="-1"></a><span class="co"># Bad Variable Name Example</span></span>
<span id="cb5-5"><a href="getting-started-with-r.html#cb5-5" tabindex="-1"></a>x <span class="ot"><-</span> <span class="dv">1000</span></span></code></pre></div>
<p><strong>Consistent Indentation:</strong> Indent your code consistently to improve readability.</p>
<div class="sourceCode" id="cb6"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb6-1"><a href="getting-started-with-r.html#cb6-1" tabindex="-1"></a><span class="co"># Good</span></span>
<span id="cb6-2"><a href="getting-started-with-r.html#cb6-2" tabindex="-1"></a><span class="cf">if</span> (x <span class="sc">></span> <span class="dv">10</span>) {</span>
<span id="cb6-3"><a href="getting-started-with-r.html#cb6-3" tabindex="-1"></a> y <span class="ot"><-</span> x <span class="sc">+</span> <span class="dv">1</span></span>
<span id="cb6-4"><a href="getting-started-with-r.html#cb6-4" tabindex="-1"></a>}</span>
<span id="cb6-5"><a href="getting-started-with-r.html#cb6-5" tabindex="-1"></a></span>
<span id="cb6-6"><a href="getting-started-with-r.html#cb6-6" tabindex="-1"></a><span class="co"># Bad</span></span>
<span id="cb6-7"><a href="getting-started-with-r.html#cb6-7" tabindex="-1"></a><span class="cf">if</span> (x <span class="sc">></span> <span class="dv">10</span>) {</span>
<span id="cb6-8"><a href="getting-started-with-r.html#cb6-8" tabindex="-1"></a>y <span class="ot"><-</span> x <span class="sc">+</span> <span class="dv">1</span></span>
<span id="cb6-9"><a href="getting-started-with-r.html#cb6-9" tabindex="-1"></a>}</span></code></pre></div>
</div>
<div id="commenting-and-structuring-scripts" class="section level3 hasAnchor" number="2.3.2">
<h3><span class="header-section-number">2.3.2</span> Commenting and Structuring Scripts<a href="getting-started-with-r.html#commenting-and-structuring-scripts" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p><strong>Commenting:</strong> Add comments to explain complex code or to outline the purpose of each section.</p>
<div class="sourceCode" id="cb7"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb7-1"><a href="getting-started-with-r.html#cb7-1" tabindex="-1"></a><span class="co"># Calculate Total Number of Crimes</span></span>
<span id="cb7-2"><a href="getting-started-with-r.html#cb7-2" tabindex="-1"></a>total_arrests <span class="ot"><-</span> <span class="fu">sum</span>(incident_data<span class="sc">$</span>number_arrests)</span></code></pre></div>
<p><strong>Structuring Scripts:</strong> Organize your scripts into sections with comments or use RStudio’s built-in sectioning feature.</p>
<div class="sourceCode" id="cb8"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb8-1"><a href="getting-started-with-r.html#cb8-1" tabindex="-1"></a><span class="co"># REQUIRED LIBRARIES ------------------------------------------------------</span></span>
<span id="cb8-2"><a href="getting-started-with-r.html#cb8-2" tabindex="-1"></a></span>
<span id="cb8-3"><a href="getting-started-with-r.html#cb8-3" tabindex="-1"></a><span class="co"># Load necessary libraries</span></span>
<span id="cb8-4"><a href="getting-started-with-r.html#cb8-4" tabindex="-1"></a><span class="fu">library</span>(dplyr)</span>
<span id="cb8-5"><a href="getting-started-with-r.html#cb8-5" tabindex="-1"></a></span>
<span id="cb8-6"><a href="getting-started-with-r.html#cb8-6" tabindex="-1"></a></span>
<span id="cb8-7"><a href="getting-started-with-r.html#cb8-7" tabindex="-1"></a><span class="co"># DATA WRANGLING ----------------------------------------------------------</span></span>
<span id="cb8-8"><a href="getting-started-with-r.html#cb8-8" tabindex="-1"></a></span>
<span id="cb8-9"><a href="getting-started-with-r.html#cb8-9" tabindex="-1"></a><span class="co"># Data preparation</span></span>
<span id="cb8-10"><a href="getting-started-with-r.html#cb8-10" tabindex="-1"></a>data <span class="ot"><-</span> <span class="fu">read.csv</span>(<span class="st">"data.csv"</span>)</span></code></pre></div>
</div>
</div>
<div id="data-types-and-structures" class="section level2 hasAnchor" number="2.4">
<h2><span class="header-section-number">2.4</span> Data Types and Structures<a href="getting-started-with-r.html#data-types-and-structures" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<div id="introduction-to-vectors-data-frames-lists-and-factors" class="section level3 hasAnchor" number="2.4.1">
<h3><span class="header-section-number">2.4.1</span> Introduction to Vectors, Data Frames, Lists, and Factors<a href="getting-started-with-r.html#introduction-to-vectors-data-frames-lists-and-factors" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p><strong>Vectors:</strong> A sequence of elements of the same type. Examples include numeric, character, and logical vectors.</p>
<div class="sourceCode" id="cb9"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb9-1"><a href="getting-started-with-r.html#cb9-1" tabindex="-1"></a><span class="co"># Numeric vector</span></span>
<span id="cb9-2"><a href="getting-started-with-r.html#cb9-2" tabindex="-1"></a>numbers <span class="ot"><-</span> <span class="fu">c</span>(<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">3</span>, <span class="dv">4</span>, <span class="dv">5</span>)</span>
<span id="cb9-3"><a href="getting-started-with-r.html#cb9-3" tabindex="-1"></a></span>
<span id="cb9-4"><a href="getting-started-with-r.html#cb9-4" tabindex="-1"></a><span class="co"># Character vector</span></span>
<span id="cb9-5"><a href="getting-started-with-r.html#cb9-5" tabindex="-1"></a>names <span class="ot"><-</span> <span class="fu">c</span>(<span class="st">"Alice"</span>, <span class="st">"Bob"</span>, <span class="st">"Charlie"</span>)</span></code></pre></div>
<p><strong>Data Frames:</strong> Two-dimensional tables where each column can be of a different type. Data frames are similar to SPSS datasets.</p>
<div class="sourceCode" id="cb10"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb10-1"><a href="getting-started-with-r.html#cb10-1" tabindex="-1"></a><span class="co"># Creating a data frame</span></span>
<span id="cb10-2"><a href="getting-started-with-r.html#cb10-2" tabindex="-1"></a>df_offenders <span class="ot"><-</span> <span class="fu">data.frame</span>(<span class="at">OffenderName =</span> <span class="fu">c</span>(<span class="st">"Alice"</span>, <span class="st">"Bob"</span>), <span class="at">OffenderAge =</span> <span class="fu">c</span>(<span class="dv">25</span>, <span class="dv">30</span>))</span></code></pre></div>
<p><strong>Lists:</strong> Collections of objects that can be of different types, including other lists.</p>
<div class="sourceCode" id="cb11"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb11-1"><a href="getting-started-with-r.html#cb11-1" tabindex="-1"></a><span class="co"># Creating a list</span></span>
<span id="cb11-2"><a href="getting-started-with-r.html#cb11-2" tabindex="-1"></a>my_list <span class="ot"><-</span> <span class="fu">list</span>(<span class="at">Name =</span> <span class="st">"Alice"</span>, <span class="at">Age =</span> <span class="dv">25</span>, <span class="at">Scores =</span> <span class="fu">c</span>(<span class="dv">90</span>, <span class="dv">85</span>, <span class="dv">88</span>))</span></code></pre></div>
<p><strong>Factors:</strong> Used for categorical data. They store both the values and the corresponding levels.</p>
<div class="sourceCode" id="cb12"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb12-1"><a href="getting-started-with-r.html#cb12-1" tabindex="-1"></a><span class="co"># Creating a factor</span></span>
<span id="cb12-2"><a href="getting-started-with-r.html#cb12-2" tabindex="-1"></a>gender <span class="ot"><-</span> <span class="fu">factor</span>(<span class="fu">c</span>(<span class="st">"Male"</span>, <span class="st">"Female"</span>, <span class="st">"Female"</span>, <span class="st">"Male"</span>))</span></code></pre></div>
</div>
<div id="comparing-r-data-types-to-spss-data-types" class="section level3 hasAnchor" number="2.4.2">
<h3><span class="header-section-number">2.4.2</span> Comparing R Data Types to SPSS Data Types<a href="getting-started-with-r.html#comparing-r-data-types-to-spss-data-types" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>In SPSS:</p>
<ul>
<li>Variables can be numeric, string, or categorical.</li>
<li>Data Structures include datasets, which are similar to R data frames.</li>
</ul>
<p>In R:</p>
<ul>
<li><strong>Vectors</strong> are like SPSS variables.</li>
<li><strong>Data Frames</strong> are akin to SPSS datasets, with columns of different types.</li>
<li><strong>Lists</strong> provide more flexibility compared to SPSS’s data structures.</li>
<li><strong>Factors</strong> are used for categorical data, similar to SPSS’s categorical variables.</li>
</ul>
</div>
</div>
<div id="basic-operations-and-functions-in-r" class="section level2 hasAnchor" number="2.5">
<h2><span class="header-section-number">2.5</span> Basic Operations and Functions in R<a href="getting-started-with-r.html#basic-operations-and-functions-in-r" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<div id="arithmetic-operations" class="section level3 hasAnchor" number="2.5.1">
<h3><span class="header-section-number">2.5.1</span> Arithmetic Operations<a href="getting-started-with-r.html#arithmetic-operations" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>R performs basic arithmetic operations similarly to SPSS. Examples include addition, subtraction, multiplication, and division.</p>
<div class="sourceCode" id="cb13"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb13-1"><a href="getting-started-with-r.html#cb13-1" tabindex="-1"></a><span class="co"># Arithmetic operations</span></span>
<span id="cb13-2"><a href="getting-started-with-r.html#cb13-2" tabindex="-1"></a>addition <span class="ot"><-</span> <span class="dv">5</span> <span class="sc">+</span> <span class="dv">3</span></span>
<span id="cb13-3"><a href="getting-started-with-r.html#cb13-3" tabindex="-1"></a>subtraction <span class="ot"><-</span> <span class="dv">10</span> <span class="sc">-</span> <span class="dv">4</span></span>
<span id="cb13-4"><a href="getting-started-with-r.html#cb13-4" tabindex="-1"></a>multiplication <span class="ot"><-</span> <span class="dv">7</span> <span class="sc">*</span> <span class="dv">2</span></span>
<span id="cb13-5"><a href="getting-started-with-r.html#cb13-5" tabindex="-1"></a>division <span class="ot"><-</span> <span class="dv">8</span> <span class="sc">/</span> <span class="dv">2</span></span>
<span id="cb13-6"><a href="getting-started-with-r.html#cb13-6" tabindex="-1"></a>exponentiation <span class="ot"><-</span> <span class="dv">2</span><span class="sc">^</span><span class="dv">3</span></span></code></pre></div>
<div class="infobox caution">
<p><strong>Exercise!</strong></p>
<p>Execute these operations in R and compare with results from SPSS’s Compute function. Can you do this in both the console and the script editor?</p>
</div>
</div>
<div id="logical-operations" class="section level3 hasAnchor" number="2.5.2">
<h3><span class="header-section-number">2.5.2</span> Logical Operations<a href="getting-started-with-r.html#logical-operations" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>Logical operations include comparisons like equality and inequality, as well as logical operators such as AND and OR.</p>
<div class="sourceCode" id="cb14"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb14-1"><a href="getting-started-with-r.html#cb14-1" tabindex="-1"></a><span class="co"># Logical operations</span></span>
<span id="cb14-2"><a href="getting-started-with-r.html#cb14-2" tabindex="-1"></a>equal <span class="ot"><-</span> (<span class="dv">5</span> <span class="sc">==</span> <span class="dv">5</span>) <span class="co"># TRUE</span></span>
<span id="cb14-3"><a href="getting-started-with-r.html#cb14-3" tabindex="-1"></a>not_equal <span class="ot"><-</span> (<span class="dv">5</span> <span class="sc">!=</span> <span class="dv">3</span>) <span class="co"># TRUE</span></span>
<span id="cb14-4"><a href="getting-started-with-r.html#cb14-4" tabindex="-1"></a>greater_than <span class="ot"><-</span> (<span class="dv">5</span> <span class="sc">></span> <span class="dv">3</span>) <span class="co"># TRUE</span></span>
<span id="cb14-5"><a href="getting-started-with-r.html#cb14-5" tabindex="-1"></a>and_operation <span class="ot"><-</span> (<span class="dv">5</span> <span class="sc">></span> <span class="dv">3</span> <span class="sc">&</span> <span class="dv">4</span> <span class="sc"><</span> <span class="dv">6</span>) <span class="co"># TRUE</span></span>
<span id="cb14-6"><a href="getting-started-with-r.html#cb14-6" tabindex="-1"></a>or_operation <span class="ot"><-</span> (<span class="dv">5</span> <span class="sc">></span> <span class="dv">6</span> <span class="sc">|</span> <span class="dv">4</span> <span class="sc"><</span> <span class="dv">6</span>) <span class="co"># TRUE</span></span></code></pre></div>
<div class="infobox caution">
<p><strong>Exercise!</strong></p>
<p>Test these logical operations in R and compare them to SPSS’s logical operators.</p>
</div>
</div>
<div id="basic-functions" class="section level3 hasAnchor" number="2.5.3">
<h3><span class="header-section-number">2.5.3</span> Basic Functions<a href="getting-started-with-r.html#basic-functions" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>R includes many built-in functions for statistical calculations, data manipulation, and more. Common functions include mean(), sd(), sum(), and length().</p>
<div class="sourceCode" id="cb15"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb15-1"><a href="getting-started-with-r.html#cb15-1" tabindex="-1"></a><span class="co"># Basic functions</span></span>
<span id="cb15-2"><a href="getting-started-with-r.html#cb15-2" tabindex="-1"></a>data <span class="ot"><-</span> <span class="fu">c</span>(<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">3</span>, <span class="dv">4</span>, <span class="dv">5</span>)</span>
<span id="cb15-3"><a href="getting-started-with-r.html#cb15-3" tabindex="-1"></a>mean_value <span class="ot"><-</span> <span class="fu">mean</span>(data)</span>
<span id="cb15-4"><a href="getting-started-with-r.html#cb15-4" tabindex="-1"></a>sd_value <span class="ot"><-</span> <span class="fu">sd</span>(data)</span>
<span id="cb15-5"><a href="getting-started-with-r.html#cb15-5" tabindex="-1"></a>total_sum <span class="ot"><-</span> <span class="fu">sum</span>(data)</span>
<span id="cb15-6"><a href="getting-started-with-r.html#cb15-6" tabindex="-1"></a>data_length <span class="ot"><-</span> <span class="fu">length</span>(data)</span></code></pre></div>
<div class="infobox caution">
<p><strong>Exercise!</strong></p>
<p>Between January 2023 and December 2023 the number of Violent and Sexual Offences in Wandsworth were as follows: 568, 568, 603, 604, 685, 871, 697, 608, 657, 681, 630, and 720. (1) Create a vector representing the number of Violent and Sexual Offences in Wandsworth. (2) What was the mean number of crimes each month? (3) What was the total number of crimes across the year? (4) What is the length of the vector?</p>
</div>
</div>
</div>
<div id="conclusion-1" class="section level2 hasAnchor" number="2.6">
<h2><span class="header-section-number">2.6</span> Conclusion<a href="getting-started-with-r.html#conclusion-1" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<p>In this chapter, you’ve learned about the RStudio interface, how to import data from SPSS, coding conventions, and the basics of R data types, structures, and operations. With this foundation, you’re prepared to start working with data in R and leveraging its powerful capabilities for analysis. In the next chapter, we’ll delve into more advanced data manipulation techniques to further enhance your skills.</p>
</div>
</div>
</section>
</div>
</div>
</div>
<a href="introduction.html" class="navigation navigation-prev " aria-label="Previous page"><i class="fa fa-angle-left"></i></a>
<a href="data-management-in-r.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": false,
"facebook": true,
"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/USERNAME/REPO/edit/BRANCH/02-started.Rmd",
"text": "Edit"
},
"history": {
"link": null,
"text": null
},
"view": {
"link": null,
"text": null
},
"download": ["_main.pdf", "_main.epub"],
"search": {
"engine": "fuse",
"options": null
},
"toc": {
"collapse": "subsection"
}
});
});
</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://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/latest.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>