-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdata-objekt-och-funktioner.html
More file actions
2350 lines (2308 loc) · 349 KB
/
data-objekt-och-funktioner.html
File metadata and controls
2350 lines (2308 loc) · 349 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
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>Kapitel 3 Data, objekt och funktioner | Tillämpad Statistik</title>
<meta name="description" content="Kapitel 3 Data, objekt och funktioner | Tillämpad Statistik" />
<meta name="generator" content="bookdown 0.29 and GitBook 2.6.7" />
<meta property="og:title" content="Kapitel 3 Data, objekt och funktioner | Tillämpad Statistik" />
<meta property="og:type" content="book" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Kapitel 3 Data, objekt och funktioner | Tillämpad Statistik" />
<meta name="author" content="Ronnie Pingel, Valentin Zulj" />
<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="att-börja-använda-r.html"/>
<link rel="next" href="läsa-in-och-spara-data.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>
<script src="libs/kePrint-0.0.1/kePrint.js"></script>
<link href="libs/lightable-0.0.1/lightable.css" rel="stylesheet" />
<style type="text/css">
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
pre.numberSource code > span
{ position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
{ content: counter(source-line);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
color: #aaaaaa;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
div.sourceCode
{ }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #7d9029; } /* Attribute */
code span.bn { color: #40a070; } /* BaseN */
code span.bu { } /* BuiltIn */
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4070a0; } /* Char */
code span.cn { color: #880000; } /* Constant */
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
code span.dt { color: #902000; } /* DataType */
code span.dv { color: #40a070; } /* DecVal */
code span.er { color: #ff0000; font-weight: bold; } /* Error */
code span.ex { } /* Extension */
code span.fl { color: #40a070; } /* Float */
code span.fu { color: #06287e; } /* Function */
code span.im { } /* Import */
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
code span.op { color: #666666; } /* Operator */
code span.ot { color: #007020; } /* Other */
code span.pp { color: #bc7a00; } /* Preprocessor */
code span.sc { color: #4070a0; } /* SpecialChar */
code span.ss { color: #bb6688; } /* SpecialString */
code span.st { color: #4070a0; } /* String */
code span.va { color: #19177c; } /* Variable */
code span.vs { color: #4070a0; } /* VerbatimString */
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
</style>
<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><a href="./">Tillämpad statistik</a></li>
<li class="divider"></li>
<li class="chapter" data-level="1" data-path="index.html"><a href="index.html"><i class="fa fa-check"></i><b>1</b> Introduktion</a>
<ul>
<li class="chapter" data-level="1.1" data-path="index.html"><a href="index.html#om-statistisk-programmering-med-r"><i class="fa fa-check"></i><b>1.1</b> Om statistisk programmering med R</a></li>
<li class="chapter" data-level="1.2" data-path="index.html"><a href="index.html#allmänna-tips-om-r-på-kursen"><i class="fa fa-check"></i><b>1.2</b> Allmänna tips om R på kursen</a></li>
<li class="chapter" data-level="1.3" data-path="index.html"><a href="index.html#sammanfattning"><i class="fa fa-check"></i><b>1.3</b> Sammanfattning</a></li>
<li class="chapter" data-level="1.4" data-path="index.html"><a href="index.html#referenser"><i class="fa fa-check"></i><b>1.4</b> Referenser</a></li>
</ul></li>
<li class="chapter" data-level="2" data-path="att-börja-använda-r.html"><a href="att-börja-använda-r.html"><i class="fa fa-check"></i><b>2</b> Att börja använda R</a>
<ul>
<li class="chapter" data-level="2.1" data-path="att-börja-använda-r.html"><a href="att-börja-använda-r.html#installation-av-r-och-rstudio"><i class="fa fa-check"></i><b>2.1</b> Installation av R och RStudio</a>
<ul>
<li class="chapter" data-level="2.1.1" data-path="att-börja-använda-r.html"><a href="att-börja-använda-r.html#installation-av-r-på-macos"><i class="fa fa-check"></i><b>2.1.1</b> Installation av R på MacOS</a></li>
<li class="chapter" data-level="2.1.2" data-path="att-börja-använda-r.html"><a href="att-börja-använda-r.html#installation-av-r-på-windows"><i class="fa fa-check"></i><b>2.1.2</b> Installation av R på Windows</a></li>
</ul></li>
<li class="chapter" data-level="2.2" data-path="att-börja-använda-r.html"><a href="att-börja-använda-r.html#installation-av-rstudio"><i class="fa fa-check"></i><b>2.2</b> Installation av RStudio</a></li>
<li class="chapter" data-level="2.3" data-path="att-börja-använda-r.html"><a href="att-börja-använda-r.html#första-sessionen"><i class="fa fa-check"></i><b>2.3</b> Första sessionen</a></li>
<li class="chapter" data-level="2.4" data-path="att-börja-använda-r.html"><a href="att-börja-använda-r.html#working-directory-ett-smidigt-sätt-att-spara-arbete"><i class="fa fa-check"></i><b>2.4</b> Working directory – ett smidigt sätt att spara arbete</a></li>
<li class="chapter" data-level="2.5" data-path="att-börja-använda-r.html"><a href="att-börja-använda-r.html#paket"><i class="fa fa-check"></i><b>2.5</b> Paket</a></li>
<li class="chapter" data-level="2.6" data-path="att-börja-använda-r.html"><a href="att-börja-använda-r.html#sammanfattning-1"><i class="fa fa-check"></i><b>2.6</b> Sammanfattning</a></li>
<li class="chapter" data-level="2.7" data-path="att-börja-använda-r.html"><a href="att-börja-använda-r.html#övningar"><i class="fa fa-check"></i><b>2.7</b> Övningar</a>
<ul>
<li class="chapter" data-level="" data-path="att-börja-använda-r.html"><a href="att-börja-använda-r.html#övning-2.1"><i class="fa fa-check"></i>Övning 2.1</a></li>
<li class="chapter" data-level="" data-path="att-börja-använda-r.html"><a href="att-börja-använda-r.html#övning-2.2"><i class="fa fa-check"></i>Övning 2.2</a></li>
<li class="chapter" data-level="" data-path="att-börja-använda-r.html"><a href="att-börja-använda-r.html#övning-2.3"><i class="fa fa-check"></i>Övning 2.3</a></li>
<li class="chapter" data-level="" data-path="att-börja-använda-r.html"><a href="att-börja-använda-r.html#övning-2.4"><i class="fa fa-check"></i>Övning 2.4</a></li>
<li class="chapter" data-level="" data-path="att-börja-använda-r.html"><a href="att-börja-använda-r.html#övning-2.5"><i class="fa fa-check"></i>Övning 2.5</a></li>
<li class="chapter" data-level="" data-path="att-börja-använda-r.html"><a href="att-börja-använda-r.html#övning-2.6"><i class="fa fa-check"></i>Övning 2.6</a></li>
<li class="chapter" data-level="" data-path="att-börja-använda-r.html"><a href="att-börja-använda-r.html#övning-2.7"><i class="fa fa-check"></i>Övning 2.7</a></li>
<li class="chapter" data-level="" data-path="att-börja-använda-r.html"><a href="att-börja-använda-r.html#övning-2.8"><i class="fa fa-check"></i>Övning 2.8</a></li>
</ul></li>
</ul></li>
<li class="chapter" data-level="3" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html"><i class="fa fa-check"></i><b>3</b> Data, objekt och funktioner</a>
<ul>
<li class="chapter" data-level="3.1" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#data-och-objekt"><i class="fa fa-check"></i><b>3.1</b> Data och objekt</a></li>
<li class="chapter" data-level="3.2" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#vektorer"><i class="fa fa-check"></i><b>3.2</b> Vektorer</a>
<ul>
<li class="chapter" data-level="3.2.1" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#vektorer-och-indexering"><i class="fa fa-check"></i><b>3.2.1</b> Vektorer och indexering</a></li>
<li class="chapter" data-level="3.2.2" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#vektorer-och-logiska-operatorer"><i class="fa fa-check"></i><b>3.2.2</b> Vektorer och logiska operatorer</a></li>
</ul></li>
<li class="chapter" data-level="3.3" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#matriser"><i class="fa fa-check"></i><b>3.3</b> Matriser</a></li>
<li class="chapter" data-level="3.4" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#data-frames"><i class="fa fa-check"></i><b>3.4</b> Data frames</a></li>
<li class="chapter" data-level="3.5" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#funktioner"><i class="fa fa-check"></i><b>3.5</b> Funktioner</a></li>
<li class="chapter" data-level="3.6" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#sammanfattning-2"><i class="fa fa-check"></i><b>3.6</b> Sammanfattning</a></li>
<li class="chapter" data-level="3.7" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#övningar-1"><i class="fa fa-check"></i><b>3.7</b> Övningar</a>
<ul>
<li class="chapter" data-level="" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#övning-3.1"><i class="fa fa-check"></i>Övning 3.1</a></li>
<li class="chapter" data-level="" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#övning-3.2"><i class="fa fa-check"></i>Övning 3.2</a></li>
<li class="chapter" data-level="" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#övning-3.3"><i class="fa fa-check"></i>Övning 3.3</a></li>
<li class="chapter" data-level="" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#övning-3.4"><i class="fa fa-check"></i>Övning 3.4</a></li>
<li class="chapter" data-level="" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#övning-3.5"><i class="fa fa-check"></i>Övning 3.5</a></li>
<li class="chapter" data-level="" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#övning-3.6"><i class="fa fa-check"></i>Övning 3.6</a></li>
<li class="chapter" data-level="" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#övning-3.7"><i class="fa fa-check"></i>Övning 3.7</a></li>
<li class="chapter" data-level="" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#övning-3.8"><i class="fa fa-check"></i>Övning 3.8</a></li>
<li class="chapter" data-level="" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#övning-3.9"><i class="fa fa-check"></i>Övning 3.9</a></li>
<li class="chapter" data-level="" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#övning-3.10"><i class="fa fa-check"></i>Övning 3.10</a></li>
<li class="chapter" data-level="" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#övning-3.11"><i class="fa fa-check"></i>Övning 3.11</a></li>
<li class="chapter" data-level="" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#övning-3.12"><i class="fa fa-check"></i>Övning 3.12</a></li>
<li class="chapter" data-level="" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#övning-3.13"><i class="fa fa-check"></i>Övning 3.13</a></li>
<li class="chapter" data-level="" data-path="data-objekt-och-funktioner.html"><a href="data-objekt-och-funktioner.html#övning-3.14"><i class="fa fa-check"></i>Övning 3.14</a></li>
</ul></li>
</ul></li>
<li class="chapter" data-level="4" data-path="läsa-in-och-spara-data.html"><a href="läsa-in-och-spara-data.html"><i class="fa fa-check"></i><b>4</b> Läsa in och spara data</a>
<ul>
<li class="chapter" data-level="4.1" data-path="läsa-in-och-spara-data.html"><a href="läsa-in-och-spara-data.html#principer-för-organiserade-datamaterial"><i class="fa fa-check"></i><b>4.1</b> Principer för organiserade datamaterial</a></li>
<li class="chapter" data-level="4.2" data-path="läsa-in-och-spara-data.html"><a href="läsa-in-och-spara-data.html#läsa-in-datamaterial-med-hjälp-av-kod"><i class="fa fa-check"></i><b>4.2</b> Läsa in datamaterial med hjälp av kod</a>
<ul>
<li class="chapter" data-level="4.2.1" data-path="läsa-in-och-spara-data.html"><a href="läsa-in-och-spara-data.html#text--och-csv-filer"><i class="fa fa-check"></i><b>4.2.1</b> Text- och CSV-filer</a></li>
<li class="chapter" data-level="4.2.2" data-path="läsa-in-och-spara-data.html"><a href="läsa-in-och-spara-data.html#excel-filer"><i class="fa fa-check"></i><b>4.2.2</b> Excel-filer</a></li>
<li class="chapter" data-level="4.2.3" data-path="läsa-in-och-spara-data.html"><a href="läsa-in-och-spara-data.html#övriga-format"><i class="fa fa-check"></i><b>4.2.3</b> Övriga format</a></li>
</ul></li>
<li class="chapter" data-level="4.3" data-path="läsa-in-och-spara-data.html"><a href="läsa-in-och-spara-data.html#läsa-in-datamaterial-med-hjälp-av-menyerna-i-rstudio"><i class="fa fa-check"></i><b>4.3</b> Läsa in datamaterial med hjälp av menyerna i RStudio</a>
<ul>
<li class="chapter" data-level="4.3.1" data-path="läsa-in-och-spara-data.html"><a href="läsa-in-och-spara-data.html#läsa-in-data-från-working-directory"><i class="fa fa-check"></i><b>4.3.1</b> Läsa in data från working directory</a></li>
<li class="chapter" data-level="4.3.2" data-path="läsa-in-och-spara-data.html"><a href="läsa-in-och-spara-data.html#läsa-in-data-med-import-dataset"><i class="fa fa-check"></i><b>4.3.2</b> Läsa in data med “Import Dataset”</a></li>
</ul></li>
<li class="chapter" data-level="4.4" data-path="läsa-in-och-spara-data.html"><a href="läsa-in-och-spara-data.html#spara-datamaterial-med-hjälp-av-r"><i class="fa fa-check"></i><b>4.4</b> Spara datamaterial med hjälp av R</a></li>
<li class="chapter" data-level="4.5" data-path="läsa-in-och-spara-data.html"><a href="läsa-in-och-spara-data.html#övningar-2"><i class="fa fa-check"></i><b>4.5</b> Övningar</a>
<ul>
<li class="chapter" data-level="" data-path="läsa-in-och-spara-data.html"><a href="läsa-in-och-spara-data.html#övning-4.1"><i class="fa fa-check"></i>Övning 4.1</a></li>
<li class="chapter" data-level="" data-path="läsa-in-och-spara-data.html"><a href="läsa-in-och-spara-data.html#övning-4.2"><i class="fa fa-check"></i>Övning 4.2</a></li>
<li class="chapter" data-level="" data-path="läsa-in-och-spara-data.html"><a href="läsa-in-och-spara-data.html#övning-4.3"><i class="fa fa-check"></i>Övning 4.3</a></li>
<li class="chapter" data-level="" data-path="läsa-in-och-spara-data.html"><a href="läsa-in-och-spara-data.html#övning-4.4"><i class="fa fa-check"></i>Övning 4.4</a></li>
</ul></li>
</ul></li>
<li class="chapter" data-level="5" data-path="kategorivariabler.html"><a href="kategorivariabler.html"><i class="fa fa-check"></i><b>5</b> Kategorivariabler</a>
<ul>
<li class="chapter" data-level="5.1" data-path="kategorivariabler.html"><a href="kategorivariabler.html#en-binär-variabel"><i class="fa fa-check"></i><b>5.1</b> En binär variabel</a>
<ul>
<li class="chapter" data-level="5.1.1" data-path="kategorivariabler.html"><a href="kategorivariabler.html#kodning"><i class="fa fa-check"></i><b>5.1.1</b> Kodning</a></li>
<li class="chapter" data-level="5.1.2" data-path="kategorivariabler.html"><a href="kategorivariabler.html#tabeller-och-figurer"><i class="fa fa-check"></i><b>5.1.2</b> Tabeller och figurer</a></li>
<li class="chapter" data-level="5.1.3" data-path="kategorivariabler.html"><a href="kategorivariabler.html#inferens"><i class="fa fa-check"></i><b>5.1.3</b> Inferens</a></li>
</ul></li>
<li class="chapter" data-level="5.2" data-path="kategorivariabler.html"><a href="kategorivariabler.html#två-binära-variabler"><i class="fa fa-check"></i><b>5.2</b> Två binära variabler</a>
<ul>
<li class="chapter" data-level="5.2.1" data-path="kategorivariabler.html"><a href="kategorivariabler.html#tabeller"><i class="fa fa-check"></i><b>5.2.1</b> Tabeller</a></li>
<li class="chapter" data-level="5.2.2" data-path="kategorivariabler.html"><a href="kategorivariabler.html#kvantifiering-av-samband"><i class="fa fa-check"></i><b>5.2.2</b> Kvantifiering av samband</a></li>
<li class="chapter" data-level="5.2.3" data-path="kategorivariabler.html"><a href="kategorivariabler.html#figurer"><i class="fa fa-check"></i><b>5.2.3</b> Figurer</a></li>
<li class="chapter" data-level="5.2.4" data-path="kategorivariabler.html"><a href="kategorivariabler.html#inferens-1"><i class="fa fa-check"></i><b>5.2.4</b> Inferens</a></li>
</ul></li>
<li class="chapter" data-level="5.3" data-path="kategorivariabler.html"><a href="kategorivariabler.html#tre-kategorier-eller-fler"><i class="fa fa-check"></i><b>5.3</b> Tre kategorier eller fler</a>
<ul>
<li class="chapter" data-level="5.3.1" data-path="kategorivariabler.html"><a href="kategorivariabler.html#kodning-1"><i class="fa fa-check"></i><b>5.3.1</b> Kodning</a></li>
<li class="chapter" data-level="5.3.2" data-path="kategorivariabler.html"><a href="kategorivariabler.html#tabeller-och-figurer-1"><i class="fa fa-check"></i><b>5.3.2</b> Tabeller och figurer</a></li>
<li class="chapter" data-level="5.3.3" data-path="kategorivariabler.html"><a href="kategorivariabler.html#inferens-2"><i class="fa fa-check"></i><b>5.3.3</b> Inferens</a></li>
</ul></li>
<li class="chapter" data-level="5.4" data-path="kategorivariabler.html"><a href="kategorivariabler.html#samband-mellan-kategorivariabler"><i class="fa fa-check"></i><b>5.4</b> Samband mellan kategorivariabler</a>
<ul>
<li class="chapter" data-level="5.4.1" data-path="kategorivariabler.html"><a href="kategorivariabler.html#tabeller-och-figurer-2"><i class="fa fa-check"></i><b>5.4.1</b> Tabeller och figurer</a></li>
<li class="chapter" data-level="5.4.2" data-path="kategorivariabler.html"><a href="kategorivariabler.html#inferens-3"><i class="fa fa-check"></i><b>5.4.2</b> Inferens</a></li>
</ul></li>
<li class="chapter" data-level="5.5" data-path="kategorivariabler.html"><a href="kategorivariabler.html#programmeringsuppgifter"><i class="fa fa-check"></i><b>5.5</b> Programmeringsuppgifter</a>
<ul>
<li class="chapter" data-level="5.5.1" data-path="kategorivariabler.html"><a href="kategorivariabler.html#uppgift-1"><i class="fa fa-check"></i><b>5.5.1</b> Uppgift 1</a></li>
<li class="chapter" data-level="5.5.2" data-path="kategorivariabler.html"><a href="kategorivariabler.html#uppgift-2"><i class="fa fa-check"></i><b>5.5.2</b> Uppgift 2</a></li>
<li class="chapter" data-level="5.5.3" data-path="kategorivariabler.html"><a href="kategorivariabler.html#uppgift-3"><i class="fa fa-check"></i><b>5.5.3</b> Uppgift 3</a></li>
</ul></li>
<li class="chapter" data-level="5.6" data-path="kategorivariabler.html"><a href="kategorivariabler.html#referenser-1"><i class="fa fa-check"></i><b>5.6</b> Referenser</a></li>
</ul></li>
<li class="chapter" data-level="6" data-path="kvantitativa-variabler.html"><a href="kvantitativa-variabler.html"><i class="fa fa-check"></i><b>6</b> Kvantitativa variabler</a>
<ul>
<li class="chapter" data-level="6.1" data-path="kvantitativa-variabler.html"><a href="kvantitativa-variabler.html#analys-av-en-kvantitativ-variabel"><i class="fa fa-check"></i><b>6.1</b> Analys av en kvantitativ variabel</a>
<ul>
<li class="chapter" data-level="6.1.1" data-path="kvantitativa-variabler.html"><a href="kvantitativa-variabler.html#enklare-deskriptiva-mått"><i class="fa fa-check"></i><b>6.1.1</b> Enklare deskriptiva mått</a></li>
<li class="chapter" data-level="6.1.2" data-path="kvantitativa-variabler.html"><a href="kvantitativa-variabler.html#frekvenstabeller"><i class="fa fa-check"></i><b>6.1.2</b> Frekvenstabeller</a></li>
<li class="chapter" data-level="6.1.3" data-path="kvantitativa-variabler.html"><a href="kvantitativa-variabler.html#histogram"><i class="fa fa-check"></i><b>6.1.3</b> Histogram</a></li>
</ul></li>
<li class="chapter" data-level="6.2" data-path="kvantitativa-variabler.html"><a href="kvantitativa-variabler.html#analys-av-två-kvantitativa-variabler"><i class="fa fa-check"></i><b>6.2</b> Analys av två kvantitativa variabler</a>
<ul>
<li class="chapter" data-level="6.2.1" data-path="kvantitativa-variabler.html"><a href="kvantitativa-variabler.html#två-kontinuerliga-variabler"><i class="fa fa-check"></i><b>6.2.1</b> Två kontinuerliga variabler</a></li>
<li class="chapter" data-level="6.2.2" data-path="kvantitativa-variabler.html"><a href="kvantitativa-variabler.html#en-kontinuerlig-och-en-diskret-variabel"><i class="fa fa-check"></i><b>6.2.2</b> En kontinuerlig och en diskret variabel</a></li>
</ul></li>
<li class="chapter" data-level="6.3" data-path="kvantitativa-variabler.html"><a href="kvantitativa-variabler.html#övningsuppgifter"><i class="fa fa-check"></i><b>6.3</b> Övningsuppgifter</a>
<ul>
<li class="chapter" data-level="6.3.1" data-path="kvantitativa-variabler.html"><a href="kvantitativa-variabler.html#uppgift-1-1"><i class="fa fa-check"></i><b>6.3.1</b> Uppgift 1</a></li>
<li class="chapter" data-level="6.3.2" data-path="kvantitativa-variabler.html"><a href="kvantitativa-variabler.html#uppgift-2-1"><i class="fa fa-check"></i><b>6.3.2</b> Uppgift 2</a></li>
<li class="chapter" data-level="6.3.3" data-path="kvantitativa-variabler.html"><a href="kvantitativa-variabler.html#uppgift-3-1"><i class="fa fa-check"></i><b>6.3.3</b> Uppgift 3</a></li>
</ul></li>
<li class="chapter" data-level="6.4" data-path="kvantitativa-variabler.html"><a href="kvantitativa-variabler.html#referenser-2"><i class="fa fa-check"></i><b>6.4</b> Referenser</a></li>
</ul></li>
<li class="chapter" data-level="7" data-path="tabeller-1.html"><a href="tabeller-1.html"><i class="fa fa-check"></i><b>7</b> Tabeller</a>
<ul>
<li class="chapter" data-level="7.1" data-path="tabeller-1.html"><a href="tabeller-1.html#principer-för-tabeller"><i class="fa fa-check"></i><b>7.1</b> Principer för tabeller</a></li>
<li class="chapter" data-level="7.2" data-path="tabeller-1.html"><a href="tabeller-1.html#exportera-tabell-till-html-fil"><i class="fa fa-check"></i><b>7.2</b> Exportera tabell till HTML-fil</a></li>
<li class="chapter" data-level="7.3" data-path="tabeller-1.html"><a href="tabeller-1.html#paket-för-tabeller"><i class="fa fa-check"></i><b>7.3</b> Paket för tabeller</a></li>
<li class="chapter" data-level="7.4" data-path="tabeller-1.html"><a href="tabeller-1.html#övningsuppgifter-1"><i class="fa fa-check"></i><b>7.4</b> Övningsuppgifter</a>
<ul>
<li class="chapter" data-level="7.4.1" data-path="tabeller-1.html"><a href="tabeller-1.html#uppgift-1-2"><i class="fa fa-check"></i><b>7.4.1</b> Uppgift 1</a></li>
<li class="chapter" data-level="7.4.2" data-path="tabeller-1.html"><a href="tabeller-1.html#uppgift-2-2"><i class="fa fa-check"></i><b>7.4.2</b> Uppgift 2</a></li>
<li class="chapter" data-level="7.4.3" data-path="tabeller-1.html"><a href="tabeller-1.html#uppgift-3-2"><i class="fa fa-check"></i><b>7.4.3</b> Uppgift 3</a></li>
<li class="chapter" data-level="7.4.4" data-path="tabeller-1.html"><a href="tabeller-1.html#uppgift-4"><i class="fa fa-check"></i><b>7.4.4</b> Uppgift 4</a></li>
</ul></li>
</ul></li>
<li class="chapter" data-level="8" data-path="figurer-1.html"><a href="figurer-1.html"><i class="fa fa-check"></i><b>8</b> Figurer</a>
<ul>
<li class="chapter" data-level="8.1" data-path="figurer-1.html"><a href="figurer-1.html#estetik"><i class="fa fa-check"></i><b>8.1</b> Estetik</a></li>
<li class="chapter" data-level="8.2" data-path="figurer-1.html"><a href="figurer-1.html#grundläggande-figurhantering"><i class="fa fa-check"></i><b>8.2</b> Grundläggande figurhantering</a></li>
<li class="chapter" data-level="8.3" data-path="figurer-1.html"><a href="figurer-1.html#färger-och-figurer"><i class="fa fa-check"></i><b>8.3</b> Färger och figurer</a>
<ul>
<li class="chapter" data-level="8.3.1" data-path="figurer-1.html"><a href="figurer-1.html#presentation-av-aggregerade-data"><i class="fa fa-check"></i><b>8.3.1</b> Presentation av aggregerade data</a></li>
</ul></li>
<li class="chapter" data-level="8.4" data-path="figurer-1.html"><a href="figurer-1.html#cirkeldigram"><i class="fa fa-check"></i><b>8.4</b> Cirkeldigram</a></li>
<li class="chapter" data-level="8.5" data-path="figurer-1.html"><a href="figurer-1.html#figurer-för-fördelningar"><i class="fa fa-check"></i><b>8.5</b> Figurer för fördelningar</a></li>
<li class="chapter" data-level="8.6" data-path="figurer-1.html"><a href="figurer-1.html#lådagram-1"><i class="fa fa-check"></i><b>8.6</b> Lådagram</a></li>
<li class="chapter" data-level="8.7" data-path="figurer-1.html"><a href="figurer-1.html#spridningsdiagram-1"><i class="fa fa-check"></i><b>8.7</b> Spridningsdiagram</a></li>
<li class="chapter" data-level="8.8" data-path="figurer-1.html"><a href="figurer-1.html#exportera-figurer"><i class="fa fa-check"></i><b>8.8</b> Exportera figurer</a></li>
</ul></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="./">Tillämpad Statistik</a>
</h1>
</div>
<div class="page-wrapper" tabindex="-1" role="main">
<div class="page-inner">
<section class="normal" id="section-">
<div id="data-objekt-och-funktioner" class="section level1 hasAnchor" number="3">
<h1><span class="header-section-number">Kapitel 3</span> Data, objekt och funktioner<a href="data-objekt-och-funktioner.html#data-objekt-och-funktioner" class="anchor-section" aria-label="Anchor link to header"></a></h1>
<style>
body {
text-align: justify}
</style>
<p>För att kunna arbeta med statistik och dataanalys är det viktigt att inte enbart förstå den statistiska metoden och kunna lösa problem med hjälp av en miniräknare. I praktiken är det även nödvändigt att förstå hur data hanteras, lagras och struktureras. I detta kapitel introduceras typer av data som normalt hanteras i <code>R</code>, sedan följer avsnitt om de olika typer av objekt som finns i R. I kapitlets slut avhandlas <em>funktioner</em>, dels introduceras vad en funktion är i <code>R</code>, dels visas hur funktioner kan användas för att hantera olika objekt. Kapitlet är mycket omfattande, men det är likväl viktigt att lära sig hantera <strong>allt</strong> som presenteras i det. Avsikten med kaptitlet är att ta upp de vanliga saker i <code>R</code> som används vädligt ofta generellt, men även specifikt under just denna kurs.</p>
<div id="data-och-objekt" class="section level2 hasAnchor" number="3.1">
<h2><span class="header-section-number">3.1</span> Data och objekt<a href="data-objekt-och-funktioner.html#data-och-objekt" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<p>Utan data är statistik innehållslöst. På samma sätt är data grundläggande för arbete i <code>R</code>. De vanligaste datatyperna i <code>R</code> är</p>
<ul>
<li><code>character</code> (text), som anges med citationstecken, t.ex. <code>"a"</code> , <code>"3"</code>.</li>
<li><code>numeric</code> (decimaltal), t ex är <code>3</code>, <code>32.1</code>. Notera att 3 kan skrivas som 3.0.</li>
<li><code>integer</code> (heltal). <code>3L</code>, <code>32L</code>. Skillnaden mellan numeric och integer är att inga decimaler sparas, vilket använder mindre minne.</li>
<li><code>logical</code> (data indikerar om något är sant eller falskt, <code>TRUE</code>/ <code>FALSE</code>).</li>
</ul>
<p>Observera att dessa datatyper beskriver hur data är lagrad och hur <code>R</code> ska tolka data. Det säger sig kanske självt att det inte går att använda räkneoperation om data är <code>character</code>, till exempel. Datatyper ska inte förväxlas med de datanivåer (nominal, ordinal, intervall och kvotskala) som man normalt förknippar med statistiska analyser. Datatyper ska inte heller förväxlas med om data är diskreta, kontinuerliga, kategorier eller kvantitativa.</p>
<p>Det är <strong>mycket viktigt</strong> för alla som arbetar med statistiska analyser av data att kunna tillämpa alla ovanstående begrepp i rätt situation. Ofta överlappar begreppen, men det är vanligt att begreppen inte gör det. Tabellen nedan ger en översikt av begreppen som används, men notera att det finns undantag från denna klassificering och det finns andra sätt att klassificera.</p>
<table>
<colgroup>
<col width="11%" />
<col width="47%" />
<col width="41%" />
</colgroup>
<thead>
<tr class="header">
<th>Mätskala</th>
<th>Variabeltyp</th>
<th>Datatyp i R</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>Nominal</td>
<td>Kategori, kvalitativ</td>
<td>Character, factor med ordered = <code>FALSE</code></td>
</tr>
<tr class="even">
<td>Ordinal</td>
<td>Kategori, kvalitativ</td>
<td>Character, factor med ordered = <code>TRUE</code></td>
</tr>
<tr class="odd">
<td>Intervall</td>
<td>Kvantitativ, kontinuerlig, heltal, diskret</td>
<td>Numeric, integer</td>
</tr>
<tr class="even">
<td>Kvot</td>
<td>Kvantitativ, kontinuerlig, heltal, diskret</td>
<td>Numeric, integer</td>
</tr>
</tbody>
</table>
<p>Data hanteras och sparas som <strong>objekt</strong>. För att skapa ett objekt används <strong>assignment</strong>-operatorn <code><-</code>. Objektet sparas därmed i minnet i <code>R</code>, men inget resultat redovisas i Console. Om <code>R</code> stängs ner måste objektet skapas på nytt såvida användaren inte har angett att objektet ska sparas.</p>
<p>I <code>R</code> används nästan alltid flera olika objekt samtidigt. Objekten måste därför namnges, och precis som Vid all programmering är noggrannhet a och o. Objektnamn inleds med en bokstav och får endast innehålla bokstäver, siffror, <code>_</code> och <code>.</code>. Dessutom skiljer <code>R</code> på versaler och gemener. Det är inte alltid enkelt att namnge objekt, men det
viktigaste är att vara konsekvent. På denna kurs rekommenderas följande principer för namngivning av objekt. Använd</p>
<ul>
<li>endast <strong>gemener</strong>.</li>
<li><strong>korta</strong> och <strong>logiska</strong> namn, t.ex. kan objektet <strong>population</strong> förkortas till <strong>pop</strong>.</li>
<li>gärna understreck <code>_</code> för sammanbinda långa objektnamn. Objektet ålder för kvinnor skulle kunna betecknas <strong>age_women</strong> och motsvarande för män är då <strong>age_men</strong>.</li>
<li>inte å, ä och ö.</li>
<li>inte namn som redan är upptagna i R, t ex <code>exp</code> eller <code>log</code>.</li>
</ul>
<p>Det tre vanligaste objekten för hantering av data är:</p>
<ul>
<li>vektorer,</li>
<li>matriser,</li>
<li>data frames.</li>
</ul>
<p>I närmast följande avsnitt kommer dessa objekt diskuteras mer ingående var för sig.</p>
</div>
<div id="vektorer" class="section level2 hasAnchor" number="3.2">
<h2><span class="header-section-number">3.2</span> Vektorer<a href="data-objekt-och-funktioner.html#vektorer" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<p>En vektor är ett dataobjekt som är endimensionellt och består av <span class="math inline">\(n\)</span> element. En vektor skapas med kommandot <code>c()</code> (‘’Combine Values into a Vector’’). Anta att vi observerar värdena <span class="math inline">\(3, -1, 1, 5, 0\)</span>. Med hjälp av nedanstående kod skapas ett vektor-objekt med med 5 element:</p>
<div class="sourceCode" id="cb36"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb36-1"><a href="data-objekt-och-funktioner.html#cb36-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Skapa din första numeriska vektor</span></span>
<span id="cb36-2"><a href="data-objekt-och-funktioner.html#cb36-2" aria-hidden="true" tabindex="-1"></a>my_first_vec <span class="ot"><-</span> <span class="fu">c</span>(<span class="dv">3</span>, <span class="sc">-</span><span class="dv">1</span>, <span class="dv">1</span>, <span class="dv">5</span>, <span class="dv">0</span>)</span></code></pre></div>
<p>Som synes anges de olika värdena åskilda av kommatecken. När en vektor skapas tolkar <code>R</code> kommatecken som avskiljare mellan element. Notera att inget visas i Console, men att objektet finns sparat i minnet upptäcker man i RStudio genom att observera den övre högra panelen under fliken <strong>Environment</strong>. Där listas alla objekt som finns sparade i minnet i <code>R</code>. För att titta på objektet exekveras kod som enbart består av objektets namn, precis som nedan.</p>
<div class="sourceCode" id="cb37"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb37-1"><a href="data-objekt-och-funktioner.html#cb37-1" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Visa din första numeriska vektor</span></span>
<span id="cb37-2"><a href="data-objekt-och-funktioner.html#cb37-2" aria-hidden="true" tabindex="-1"></a><span class="er">></span> my_first_vec </span>
<span id="cb37-3"><a href="data-objekt-och-funktioner.html#cb37-3" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">3</span> <span class="sc">-</span><span class="dv">1</span> <span class="dv">1</span> <span class="dv">5</span> <span class="dv">0</span></span></code></pre></div>
<p>Du ska nu skapa ett antal vektorobjekt som sedan på olika sätt ska manipuleras.</p>
<ol style="list-style-type: decimal">
<li>Skapa ett script som heter <strong>kap3_objekt_och_funktioner.R</strong> genom att välja <strong>File > New File > R Script</strong> och sedan direkt spara scriptet med <strong>File > Save As</strong> i mappen <strong>A5Rkod</strong>.<br />
</li>
<li>Skriv in koden nedan i scriptet och spara med <strong>File > Save</strong> (ett alternativ är att använda <strong>Ctrl/command + S</strong>, precis som i t.ex. ett Word-dokument). Det är bra att få rutin på att ofta spara sitt script så att inte kod råkar försvinna.</li>
</ol>
<div class="sourceCode" id="cb38"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb38-1"><a href="data-objekt-och-funktioner.html#cb38-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Skapar två numeriska vektorer</span></span>
<span id="cb38-2"><a href="data-objekt-och-funktioner.html#cb38-2" aria-hidden="true" tabindex="-1"></a>x <span class="ot"><-</span> <span class="fu">c</span>(<span class="dv">3</span>, <span class="dv">1</span>, <span class="dv">1</span>, <span class="dv">5</span>, <span class="dv">0</span>)</span>
<span id="cb38-3"><a href="data-objekt-och-funktioner.html#cb38-3" aria-hidden="true" tabindex="-1"></a>y <span class="ot"><-</span> <span class="fu">c</span>(<span class="dv">2</span>, <span class="dv">3</span>, <span class="dv">5</span>, <span class="dv">6</span>, <span class="dv">9</span>)</span></code></pre></div>
<p>Generellt gäller i <code>R</code> att om <span class="math inline">\(x\)</span> är en vektor bestående av <span class="math inline">\(k\)</span> element
<span class="math display">\[x = (x_1,x_2,\ldots,x_k)\]</span>
och <span class="math inline">\(y\)</span> är en vektor bestående av <span class="math inline">\(l\)</span> element
<span class="math display">\[y = (y_1,y_2,\ldots,y_l)\]</span>
så skapar kommandot</p>
<div class="sourceCode" id="cb39"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb39-1"><a href="data-objekt-och-funktioner.html#cb39-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Binder samman x och y till en </span></span>
<span id="cb39-2"><a href="data-objekt-och-funktioner.html#cb39-2" aria-hidden="true" tabindex="-1"></a>z <span class="ot"><-</span> <span class="fu">c</span>(x,y)</span></code></pre></div>
<p>en vektor med <span class="math inline">\(k + l\)</span> element,
<span class="math display">\[z= (x_1,x_2,\ldots,x_k,y_1,y_2,\ldots,y_l)=(z_1,z_2,\ldots,z_{k+l}).\]</span>
För att se om detta stämmer tittar vi på objekten genom att exekvera dem.</p>
<ol start="3" style="list-style-type: decimal">
<li>Fortsätt scriptet genom att skriva in nedanstående kod. Spara och kör koden.</li>
</ol>
<div class="sourceCode" id="cb40"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb40-1"><a href="data-objekt-och-funktioner.html#cb40-1" aria-hidden="true" tabindex="-1"></a>x</span>
<span id="cb40-2"><a href="data-objekt-och-funktioner.html#cb40-2" aria-hidden="true" tabindex="-1"></a>y</span>
<span id="cb40-3"><a href="data-objekt-och-funktioner.html#cb40-3" aria-hidden="true" tabindex="-1"></a>z</span></code></pre></div>
<p>I Console ser du då följande:</p>
<div class="sourceCode" id="cb41"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb41-1"><a href="data-objekt-och-funktioner.html#cb41-1" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> x</span>
<span id="cb41-2"><a href="data-objekt-och-funktioner.html#cb41-2" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">3</span> <span class="dv">1</span> <span class="dv">1</span> <span class="dv">5</span> <span class="dv">0</span></span>
<span id="cb41-3"><a href="data-objekt-och-funktioner.html#cb41-3" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> y</span>
<span id="cb41-4"><a href="data-objekt-och-funktioner.html#cb41-4" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">2</span> <span class="dv">3</span> <span class="dv">5</span> <span class="dv">6</span> <span class="dv">9</span></span>
<span id="cb41-5"><a href="data-objekt-och-funktioner.html#cb41-5" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> z</span>
<span id="cb41-6"><a href="data-objekt-och-funktioner.html#cb41-6" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">3</span> <span class="dv">1</span> <span class="dv">1</span> <span class="dv">5</span> <span class="dv">0</span> <span class="dv">2</span> <span class="dv">3</span> <span class="dv">5</span> <span class="dv">6</span> <span class="dv">9</span></span></code></pre></div>
<p>Som synes samlar vektorn <span class="math inline">\(z\)</span> alla element i <span class="math inline">\(x\)</span> och alla element i <span class="math inline">\(y\)</span> i en och samma vektor.</p>
<p>Både <span class="math inline">\(x\)</span>, <span class="math inline">\(y\)</span> och <span class="math inline">\(z\)</span> är numeriska vektorer. Det går även att skapa en vektor bestående av bokstäver. För att skapa en sådan vektor (<code>character</code> vector) sätts de enskilda elementen inom citationstecken.</p>
<ol start="4" style="list-style-type: decimal">
<li>Fortsätt scriptet och skriv in nedanstående kod i scriptet, spara och kör koden.</li>
</ol>
<div class="sourceCode" id="cb42"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb42-1"><a href="data-objekt-och-funktioner.html#cb42-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Skapar en vektor med ord</span></span>
<span id="cb42-2"><a href="data-objekt-och-funktioner.html#cb42-2" aria-hidden="true" tabindex="-1"></a>nordic_countries <span class="ot"><-</span> <span class="fu">c</span>(<span class="st">"Denmark"</span>, <span class="st">"Finland"</span>, <span class="st">"Iceland"</span>, <span class="st">"Norway"</span>, <span class="st">"Sweden"</span>)</span>
<span id="cb42-3"><a href="data-objekt-och-funktioner.html#cb42-3" aria-hidden="true" tabindex="-1"></a>nordic_countries</span></code></pre></div>
<p>I Console ser du då följande resultat.</p>
<div class="sourceCode" id="cb43"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb43-1"><a href="data-objekt-och-funktioner.html#cb43-1" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Skapar en vektor med ord</span></span>
<span id="cb43-2"><a href="data-objekt-och-funktioner.html#cb43-2" aria-hidden="true" tabindex="-1"></a><span class="er">></span> nordic_countries <span class="ot"><-</span> <span class="fu">c</span>(<span class="st">"Denmark"</span>, <span class="st">"Finland"</span>, <span class="st">"Iceland"</span>, <span class="st">"Norway"</span>, <span class="st">"Sweden"</span>)</span>
<span id="cb43-3"><a href="data-objekt-och-funktioner.html#cb43-3" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> nordic_countries</span>
<span id="cb43-4"><a href="data-objekt-och-funktioner.html#cb43-4" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="st">"Denmark"</span> <span class="st">"Finland"</span> <span class="st">"Iceland"</span> <span class="st">"Norway"</span> <span class="st">"Sweden"</span></span></code></pre></div>
<p>Kombineras en numerisk och en character-vektor blir hela vektorn en character-vector.</p>
<ol start="5" style="list-style-type: decimal">
<li>Skriv följande kod i scriptet, spara och kör koden.</li>
</ol>
<div class="sourceCode" id="cb44"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb44-1"><a href="data-objekt-och-funktioner.html#cb44-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Kombinera en numerisk vektor med en vektor med ord</span></span>
<span id="cb44-2"><a href="data-objekt-och-funktioner.html#cb44-2" aria-hidden="true" tabindex="-1"></a>x_nordic_countries <span class="ot"><-</span> <span class="fu">c</span>(x, nordic_countries )</span>
<span id="cb44-3"><a href="data-objekt-och-funktioner.html#cb44-3" aria-hidden="true" tabindex="-1"></a>x_nordic_countries</span></code></pre></div>
<p>I Console erhålls följande output och vi ser att de tidigare numeriska värdena nu omges av citationstecken.</p>
<div class="sourceCode" id="cb45"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb45-1"><a href="data-objekt-och-funktioner.html#cb45-1" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Kombinera en numerisk vektor med en vektor med ord</span></span>
<span id="cb45-2"><a href="data-objekt-och-funktioner.html#cb45-2" aria-hidden="true" tabindex="-1"></a><span class="er">></span> x_nordic_countries <span class="ot"><-</span> <span class="fu">c</span>(x, nordic_countries )</span>
<span id="cb45-3"><a href="data-objekt-och-funktioner.html#cb45-3" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> x_nordic_countries</span>
<span id="cb45-4"><a href="data-objekt-och-funktioner.html#cb45-4" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="st">"3"</span> <span class="st">"1"</span> <span class="st">"1"</span> <span class="st">"5"</span> <span class="st">"0"</span> <span class="st">"Denmark"</span> <span class="st">"Finland"</span></span>
<span id="cb45-5"><a href="data-objekt-och-funktioner.html#cb45-5" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">8</span>] <span class="st">"Iceland"</span> <span class="st">"Norway"</span> <span class="st">"Sweden"</span></span></code></pre></div>
<p>Om en numerisk vektor kombineras med en vektor med bokstäver så blir hela vektorn en <code>character-vektor</code>. <code>R</code> tolkar alltså siffrorna som bokstäver/tecken utan relation till numeriska värden. Det ser vi genom att det finns finns citationstecken kring siffrorna.</p>
<p>Vi ska nu introducera hur man på andra sätt kan skapa vissa typer av vektorer.</p>
<ol start="6" style="list-style-type: decimal">
<li>Skriv in nedanstående kod i scriptet och spara. Kör koden.</li>
</ol>
<div class="sourceCode" id="cb46"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb46-1"><a href="data-objekt-och-funktioner.html#cb46-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Skapar en vektor med värdena 1,2,3,4,5</span></span>
<span id="cb46-2"><a href="data-objekt-och-funktioner.html#cb46-2" aria-hidden="true" tabindex="-1"></a>v <span class="ot"><-</span> <span class="dv">1</span><span class="sc">:</span><span class="dv">5</span></span>
<span id="cb46-3"><a href="data-objekt-och-funktioner.html#cb46-3" aria-hidden="true" tabindex="-1"></a><span class="co"># Skapar en vektor med endast ett element</span></span>
<span id="cb46-4"><a href="data-objekt-och-funktioner.html#cb46-4" aria-hidden="true" tabindex="-1"></a>u <span class="ot"><-</span> <span class="dv">150</span></span>
<span id="cb46-5"><a href="data-objekt-och-funktioner.html#cb46-5" aria-hidden="true" tabindex="-1"></a><span class="co"># Skapar en vektor med ett bortfall. </span></span>
<span id="cb46-6"><a href="data-objekt-och-funktioner.html#cb46-6" aria-hidden="true" tabindex="-1"></a>ymis <span class="ot"><-</span> <span class="fu">c</span>(<span class="dv">3</span>, <span class="cn">NA</span>, <span class="dv">6</span>, <span class="dv">3</span>, <span class="dv">6</span>)</span></code></pre></div>
<p>I Console visas</p>
<div class="sourceCode" id="cb47"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb47-1"><a href="data-objekt-och-funktioner.html#cb47-1" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> v </span>
<span id="cb47-2"><a href="data-objekt-och-funktioner.html#cb47-2" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</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="cb47-3"><a href="data-objekt-och-funktioner.html#cb47-3" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> u </span>
<span id="cb47-4"><a href="data-objekt-och-funktioner.html#cb47-4" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">150</span></span>
<span id="cb47-5"><a href="data-objekt-och-funktioner.html#cb47-5" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> ymis</span>
<span id="cb47-6"><a href="data-objekt-och-funktioner.html#cb47-6" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">3</span> <span class="cn">NA</span> <span class="dv">6</span> <span class="dv">3</span> <span class="dv">6</span></span></code></pre></div>
<p>För att sammanfatta har vi har hittills skapat numeriska vektorer, vektorer som enbart innehåller bokstäver och vektorer som skapats genom kortkommandon. Vidare finns vektorer med bortfall, som anges som <code>NA</code> (Not Available).</p>
<style>
div.green{ background-color:#abd4b3; border-radius: 5px; padding: 20px;}
</style>
<div class="green">
<p><font size="5"> </font>
<img src="docs/images/important.png" width="5%" style="display: block; margin: auto;" /></p>
<ul>
<li>En vektor som innehåller enbart en datatyp kallas för <strong>atomic</strong>. Detta kan vara värt att känna till eftersom eftersom det är vanligt att felmeddelande referar till just att en vektor inte är atomic.<br />
</li>
<li>Inled en rad med # för att kommentera kod. <em>Kommentera alltid kod!</em>. Vid all programmering är det viktigt att förklara kod så att du själv och andra snabbt förstår vad koden gör. Det är viktigt att få rutin på att kommentera, kommentera därför även enkel kod.</li>
</ul>
</div>
<p>Nya vektorer kan skapas med räkneoperationer. Beräkningarna sker då <strong>elementvis</strong>, till exempel adderas elementvärden i en vektor till elementvärden i en annan vektor som har motsvarade position. Vektorerna måste <strong>antingen</strong> ha lika många element <strong>eller</strong> så måste en av vektorerna bestå av enbart ett element.</p>
<ol start="7" style="list-style-type: decimal">
<li>Skriv in nedanstående i ditt script, spara och kör.</li>
</ol>
<div class="sourceCode" id="cb48"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb48-1"><a href="data-objekt-och-funktioner.html#cb48-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Addition av x och y</span></span>
<span id="cb48-2"><a href="data-objekt-och-funktioner.html#cb48-2" aria-hidden="true" tabindex="-1"></a>x <span class="sc">+</span> y</span>
<span id="cb48-3"><a href="data-objekt-och-funktioner.html#cb48-3" aria-hidden="true" tabindex="-1"></a><span class="co"># Multiplikation av x och y</span></span>
<span id="cb48-4"><a href="data-objekt-och-funktioner.html#cb48-4" aria-hidden="true" tabindex="-1"></a>x <span class="sc">*</span> y</span>
<span id="cb48-5"><a href="data-objekt-och-funktioner.html#cb48-5" aria-hidden="true" tabindex="-1"></a><span class="co"># Potenser skrivs med a^b</span></span>
<span id="cb48-6"><a href="data-objekt-och-funktioner.html#cb48-6" aria-hidden="true" tabindex="-1"></a>y<span class="sc">^</span><span class="dv">2</span></span>
<span id="cb48-7"><a href="data-objekt-och-funktioner.html#cb48-7" aria-hidden="true" tabindex="-1"></a><span class="co"># En konstant u adderas till alla element i vektorn</span></span>
<span id="cb48-8"><a href="data-objekt-och-funktioner.html#cb48-8" aria-hidden="true" tabindex="-1"></a>x <span class="sc">+</span> u </span>
<span id="cb48-9"><a href="data-objekt-och-funktioner.html#cb48-9" aria-hidden="true" tabindex="-1"></a><span class="co"># Räkneoperationer med NA ger NA</span></span>
<span id="cb48-10"><a href="data-objekt-och-funktioner.html#cb48-10" aria-hidden="true" tabindex="-1"></a>x <span class="sc">+</span> ymis </span>
<span id="cb48-11"><a href="data-objekt-och-funktioner.html#cb48-11" aria-hidden="true" tabindex="-1"></a><span class="co"># Division med 0 är ej definierat. R anger det som Inf (infinity) </span></span>
<span id="cb48-12"><a href="data-objekt-och-funktioner.html#cb48-12" aria-hidden="true" tabindex="-1"></a><span class="co"># eller NaN (Not a Number) om det är 0/0.</span></span>
<span id="cb48-13"><a href="data-objekt-och-funktioner.html#cb48-13" aria-hidden="true" tabindex="-1"></a>x<span class="sc">/</span><span class="dv">0</span></span>
<span id="cb48-14"><a href="data-objekt-och-funktioner.html#cb48-14" aria-hidden="true" tabindex="-1"></a><span class="co"># Exempel på längre räkneoperationer. </span></span>
<span id="cb48-15"><a href="data-objekt-och-funktioner.html#cb48-15" aria-hidden="true" tabindex="-1"></a><span class="co"># Notera att alla beräkningar är elementvisa.</span></span>
<span id="cb48-16"><a href="data-objekt-och-funktioner.html#cb48-16" aria-hidden="true" tabindex="-1"></a>w <span class="ot"><-</span> x <span class="sc">+</span> (y<span class="sc">^</span><span class="dv">2</span> <span class="sc">-</span> u)<span class="sc">/</span>v</span>
<span id="cb48-17"><a href="data-objekt-och-funktioner.html#cb48-17" aria-hidden="true" tabindex="-1"></a>w</span></code></pre></div>
<p>I Console visas</p>
<div class="sourceCode" id="cb49"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb49-1"><a href="data-objekt-och-funktioner.html#cb49-1" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Addition av x och y</span></span>
<span id="cb49-2"><a href="data-objekt-och-funktioner.html#cb49-2" aria-hidden="true" tabindex="-1"></a><span class="er">></span> x <span class="sc">+</span> y</span>
<span id="cb49-3"><a href="data-objekt-och-funktioner.html#cb49-3" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">5</span> <span class="dv">4</span> <span class="dv">6</span> <span class="dv">11</span> <span class="dv">9</span></span>
<span id="cb49-4"><a href="data-objekt-och-funktioner.html#cb49-4" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Multiplikation av x och y</span></span>
<span id="cb49-5"><a href="data-objekt-och-funktioner.html#cb49-5" aria-hidden="true" tabindex="-1"></a><span class="er">></span> x <span class="sc">*</span> y</span>
<span id="cb49-6"><a href="data-objekt-och-funktioner.html#cb49-6" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">6</span> <span class="dv">3</span> <span class="dv">5</span> <span class="dv">30</span> <span class="dv">0</span></span>
<span id="cb49-7"><a href="data-objekt-och-funktioner.html#cb49-7" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Potenser skrivs med a^b</span></span>
<span id="cb49-8"><a href="data-objekt-och-funktioner.html#cb49-8" aria-hidden="true" tabindex="-1"></a><span class="er">></span> y<span class="sc">^</span><span class="dv">2</span></span>
<span id="cb49-9"><a href="data-objekt-och-funktioner.html#cb49-9" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">4</span> <span class="dv">9</span> <span class="dv">25</span> <span class="dv">36</span> <span class="dv">81</span></span>
<span id="cb49-10"><a href="data-objekt-och-funktioner.html#cb49-10" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># En konstant u adderas till alla element i vektorn</span></span>
<span id="cb49-11"><a href="data-objekt-och-funktioner.html#cb49-11" aria-hidden="true" tabindex="-1"></a><span class="er">></span> x <span class="sc">+</span> u </span>
<span id="cb49-12"><a href="data-objekt-och-funktioner.html#cb49-12" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">153</span> <span class="dv">151</span> <span class="dv">151</span> <span class="dv">155</span> <span class="dv">150</span></span>
<span id="cb49-13"><a href="data-objekt-och-funktioner.html#cb49-13" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Räkneoperationer med NA ger NA</span></span>
<span id="cb49-14"><a href="data-objekt-och-funktioner.html#cb49-14" aria-hidden="true" tabindex="-1"></a><span class="er">></span> x <span class="sc">+</span> ymis </span>
<span id="cb49-15"><a href="data-objekt-och-funktioner.html#cb49-15" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">6</span> <span class="cn">NA</span> <span class="dv">7</span> <span class="dv">8</span> <span class="dv">6</span></span>
<span id="cb49-16"><a href="data-objekt-och-funktioner.html#cb49-16" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Division med 0 är ej definierat. R anger det som Inf (infinity) </span></span>
<span id="cb49-17"><a href="data-objekt-och-funktioner.html#cb49-17" aria-hidden="true" tabindex="-1"></a><span class="er">></span> <span class="co"># eller NaN (Not a Number) om det är 0/0.</span></span>
<span id="cb49-18"><a href="data-objekt-och-funktioner.html#cb49-18" aria-hidden="true" tabindex="-1"></a><span class="er">></span> x<span class="sc">/</span><span class="dv">0</span></span>
<span id="cb49-19"><a href="data-objekt-och-funktioner.html#cb49-19" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="cn">Inf</span> <span class="cn">Inf</span> <span class="cn">Inf</span> <span class="cn">Inf</span> <span class="cn">NaN</span></span>
<span id="cb49-20"><a href="data-objekt-och-funktioner.html#cb49-20" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Exempel på längre räkneoperationer. </span></span>
<span id="cb49-21"><a href="data-objekt-och-funktioner.html#cb49-21" aria-hidden="true" tabindex="-1"></a><span class="er">></span> <span class="co"># Notera att alla beräkningar är elementvisa.</span></span>
<span id="cb49-22"><a href="data-objekt-och-funktioner.html#cb49-22" aria-hidden="true" tabindex="-1"></a><span class="er">></span> w <span class="ot"><-</span> x <span class="sc">+</span> (y<span class="sc">^</span><span class="dv">2</span> <span class="sc">-</span> u)<span class="sc">/</span>v</span>
<span id="cb49-23"><a href="data-objekt-och-funktioner.html#cb49-23" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> w</span>
<span id="cb49-24"><a href="data-objekt-och-funktioner.html#cb49-24" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="sc">-</span><span class="fl">143.00000</span> <span class="sc">-</span><span class="fl">69.50000</span> <span class="sc">-</span><span class="fl">40.66667</span> <span class="sc">-</span><span class="fl">23.50000</span> <span class="sc">-</span><span class="fl">13.80000</span></span></code></pre></div>
<p>Ovanstående illustrerar anvädning av objekt kan medföra avsevärda förenklingar i olika beräkningar.</p>
<p>Nu ska vi se vad som händer om elemementen består av olika antal element. Kom ihåg att vektorn <span class="math inline">\(x\)</span> består av <strong>fem</strong> element, och skriv in nedanstående kod i Console och tryck enter.</p>
<div class="sourceCode" id="cb50"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb50-1"><a href="data-objekt-och-funktioner.html#cb50-1" aria-hidden="true" tabindex="-1"></a>x <span class="sc">+</span> <span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">5</span>,<span class="dv">6</span>)</span></code></pre></div>
<p>I Console visas</p>
<div class="sourceCode" id="cb51"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb51-1"><a href="data-objekt-och-funktioner.html#cb51-1" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> x <span class="sc">+</span> <span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">5</span>,<span class="dv">6</span>)</span>
<span id="cb51-2"><a href="data-objekt-och-funktioner.html#cb51-2" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> Warning <span class="cf">in</span> x <span class="sc">+</span> <span class="fu">c</span>(<span class="dv">2</span>, <span class="dv">5</span>, <span class="dv">6</span>)<span class="sc">:</span> longer object length is not a multiple of shorter</span>
<span id="cb51-3"><a href="data-objekt-och-funktioner.html#cb51-3" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> object length</span>
<span id="cb51-4"><a href="data-objekt-och-funktioner.html#cb51-4" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">5</span> <span class="dv">6</span> <span class="dv">7</span> <span class="dv">7</span> <span class="dv">5</span></span></code></pre></div>
<p>Eftersom vektorerna har olika många element (fem respektive tre) ger <code>R</code> ifrån sig en varning. Eftersom additionen sker elementvis blir <code>R</code> förvirrat då det inte finns några värden i vektorn <code>c(2, 5, 6)</code> som kan adderas till element 4 och 5 i <span class="math inline">\(x\)</span>. Detta gäller oavsett räknesätt. Om en av vektorerna enbart innehåller ett element, kommer detta element add användas för varje element i den motsvarande vektor. Se, till exempel, koden nedan. Operationen medför att <code>2</code> subtraheras från varje element i <span class="math inline">\(x\)</span></p>
<div class="sourceCode" id="cb52"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb52-1"><a href="data-objekt-och-funktioner.html#cb52-1" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> x <span class="sc">-</span> <span class="fu">c</span>(<span class="dv">2</span>)</span>
<span id="cb52-2"><a href="data-objekt-och-funktioner.html#cb52-2" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">1</span> <span class="sc">-</span><span class="dv">1</span> <span class="sc">-</span><span class="dv">1</span> <span class="dv">3</span> <span class="sc">-</span><span class="dv">2</span></span></code></pre></div>
<div id="vektorer-och-indexering" class="section level3 hasAnchor" number="3.2.1">
<h3><span class="header-section-number">3.2.1</span> Vektorer och indexering<a href="data-objekt-och-funktioner.html#vektorer-och-indexering" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>Ibland är det intressant eller nödvändigt att välja ut enskilda element ur en vektor. Eftersom data i praktiken alltid måste anpassas för planerade analyser är detta nödvändigt för en statistiker att kunna. Varje element i en vektor har en egen position. I vektorn <span class="math inline">\(x = \{3, 1, 1, 5, 0\}\)</span> ligger trean på position 1, den första ettan på position 2, etc. Med hjälp av hakparenteser kan ett eller flera element i en vektor väljas ut, detta kallas i kursen för <strong>indexering</strong>. Använd nedanstående kod som exempel på detta.</p>
<ol style="list-style-type: decimal">
<li>Skriv in nedanstående i ditt script, spara och kör.</li>
</ol>
<div class="sourceCode" id="cb53"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb53-1"><a href="data-objekt-och-funktioner.html#cb53-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Visa element nummer 2 i vektorn x </span></span>
<span id="cb53-2"><a href="data-objekt-och-funktioner.html#cb53-2" aria-hidden="true" tabindex="-1"></a>x[<span class="dv">2</span>]</span>
<span id="cb53-3"><a href="data-objekt-och-funktioner.html#cb53-3" aria-hidden="true" tabindex="-1"></a><span class="co"># Visa element 2, 3 och 4 i vektorn y</span></span>
<span id="cb53-4"><a href="data-objekt-och-funktioner.html#cb53-4" aria-hidden="true" tabindex="-1"></a>y[<span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">3</span>,<span class="dv">4</span>)]</span></code></pre></div>
<p>I Console redovisas</p>
<div class="sourceCode" id="cb54"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb54-1"><a href="data-objekt-och-funktioner.html#cb54-1" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Visa element nummer 2 i vektorn x </span></span>
<span id="cb54-2"><a href="data-objekt-och-funktioner.html#cb54-2" aria-hidden="true" tabindex="-1"></a><span class="er">></span> x[<span class="dv">2</span>]</span>
<span id="cb54-3"><a href="data-objekt-och-funktioner.html#cb54-3" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">1</span></span>
<span id="cb54-4"><a href="data-objekt-och-funktioner.html#cb54-4" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Visa element 2, 3 och 4 i vektorn y</span></span>
<span id="cb54-5"><a href="data-objekt-och-funktioner.html#cb54-5" aria-hidden="true" tabindex="-1"></a><span class="er">></span> y[<span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">3</span>,<span class="dv">4</span>)]</span>
<span id="cb54-6"><a href="data-objekt-och-funktioner.html#cb54-6" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">3</span> <span class="dv">5</span> <span class="dv">6</span></span></code></pre></div>
<p>Det går även att spara utvalda element till en ny vektor.</p>
<ol start="2" style="list-style-type: decimal">
<li>Skriv in nedanstående i ditt script.</li>
</ol>
<div class="sourceCode" id="cb55"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb55-1"><a href="data-objekt-och-funktioner.html#cb55-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Spara element nummer 2 i vektorn x2 </span></span>
<span id="cb55-2"><a href="data-objekt-och-funktioner.html#cb55-2" aria-hidden="true" tabindex="-1"></a>x2 <span class="ot"><-</span> x[<span class="dv">2</span>]</span>
<span id="cb55-3"><a href="data-objekt-och-funktioner.html#cb55-3" aria-hidden="true" tabindex="-1"></a>x2</span>
<span id="cb55-4"><a href="data-objekt-och-funktioner.html#cb55-4" aria-hidden="true" tabindex="-1"></a><span class="co"># Visa element 2, 3 och 4 i vektorn y234</span></span>
<span id="cb55-5"><a href="data-objekt-och-funktioner.html#cb55-5" aria-hidden="true" tabindex="-1"></a>y234 <span class="ot"><-</span> y[<span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">3</span>,<span class="dv">4</span>)]</span>
<span id="cb55-6"><a href="data-objekt-och-funktioner.html#cb55-6" aria-hidden="true" tabindex="-1"></a>y234</span></code></pre></div>
<p>I Console redovisas</p>
<div class="sourceCode" id="cb56"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb56-1"><a href="data-objekt-och-funktioner.html#cb56-1" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Spara element nummer 2 till vektorn x2 </span></span>
<span id="cb56-2"><a href="data-objekt-och-funktioner.html#cb56-2" aria-hidden="true" tabindex="-1"></a><span class="er">></span> x2 <span class="ot"><-</span> x[<span class="dv">2</span>]</span>
<span id="cb56-3"><a href="data-objekt-och-funktioner.html#cb56-3" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> x2</span>
<span id="cb56-4"><a href="data-objekt-och-funktioner.html#cb56-4" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">1</span></span>
<span id="cb56-5"><a href="data-objekt-och-funktioner.html#cb56-5" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Spara element 2, 3 och 4 till vektorn y234</span></span>
<span id="cb56-6"><a href="data-objekt-och-funktioner.html#cb56-6" aria-hidden="true" tabindex="-1"></a><span class="er">></span> y234 <span class="ot"><-</span> y[<span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">3</span>,<span class="dv">4</span>)]</span>
<span id="cb56-7"><a href="data-objekt-och-funktioner.html#cb56-7" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> y234</span>
<span id="cb56-8"><a href="data-objekt-och-funktioner.html#cb56-8" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">3</span> <span class="dv">5</span> <span class="dv">6</span></span></code></pre></div>
<p>Det går att tillämpa <strong>negativ indexering</strong> för att <strong>exkludera</strong> angivna element. Resterande element i en vektor behålls då.</p>
<ol start="3" style="list-style-type: decimal">
<li>Skriv in nedanstående i scriptet, spara, och kör.</li>
</ol>
<div class="sourceCode" id="cb57"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb57-1"><a href="data-objekt-och-funktioner.html#cb57-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Spara element nummer 1,3,4,5 till vektorn x1345 </span></span>
<span id="cb57-2"><a href="data-objekt-och-funktioner.html#cb57-2" aria-hidden="true" tabindex="-1"></a>x1345 <span class="ot"><-</span> x[<span class="sc">-</span><span class="dv">2</span>]</span>
<span id="cb57-3"><a href="data-objekt-och-funktioner.html#cb57-3" aria-hidden="true" tabindex="-1"></a>x1345</span>
<span id="cb57-4"><a href="data-objekt-och-funktioner.html#cb57-4" aria-hidden="true" tabindex="-1"></a><span class="co"># Spara element 1 och 5 till vektorn y15</span></span>
<span id="cb57-5"><a href="data-objekt-och-funktioner.html#cb57-5" aria-hidden="true" tabindex="-1"></a>y15 <span class="ot"><-</span> y[<span class="sc">-</span><span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">3</span>,<span class="dv">4</span>)]</span>
<span id="cb57-6"><a href="data-objekt-och-funktioner.html#cb57-6" aria-hidden="true" tabindex="-1"></a>y15</span></code></pre></div>
<p>I Console redovisas nedanstående.</p>
<div class="sourceCode" id="cb58"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb58-1"><a href="data-objekt-och-funktioner.html#cb58-1" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Spara element nummer 1,3,4,5 till vektorn x1345 </span></span>
<span id="cb58-2"><a href="data-objekt-och-funktioner.html#cb58-2" aria-hidden="true" tabindex="-1"></a><span class="er">></span> x1345 <span class="ot"><-</span> x[<span class="sc">-</span><span class="dv">2</span>]</span>
<span id="cb58-3"><a href="data-objekt-och-funktioner.html#cb58-3" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> x1345</span>
<span id="cb58-4"><a href="data-objekt-och-funktioner.html#cb58-4" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">3</span> <span class="dv">1</span> <span class="dv">5</span> <span class="dv">0</span></span>
<span id="cb58-5"><a href="data-objekt-och-funktioner.html#cb58-5" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Spara element 1 och 5 till vektorn y15</span></span>
<span id="cb58-6"><a href="data-objekt-och-funktioner.html#cb58-6" aria-hidden="true" tabindex="-1"></a><span class="er">></span> y15 <span class="ot"><-</span> y[<span class="sc">-</span><span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">3</span>,<span class="dv">4</span>)]</span>
<span id="cb58-7"><a href="data-objekt-och-funktioner.html#cb58-7" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> y15</span>
<span id="cb58-8"><a href="data-objekt-och-funktioner.html#cb58-8" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">2</span> <span class="dv">9</span></span></code></pre></div>
<p>En fördel med indexering är att det blir väldigt lätt att byta värden på olika element i en vektor. Detta blir relevant när variabler ska kodas om, eller när bortfall ska kodas på något specifikt sätt. Koden nedan byter värde på det tredje elementet i en specifik vektor</p>
<ol start="4" style="list-style-type: decimal">
<li>Skriv i nedanstående i scriptet, spara och kör.</li>
</ol>
<div class="sourceCode" id="cb59"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb59-1"><a href="data-objekt-och-funktioner.html#cb59-1" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Ändra element 3 från 1 till 4</span></span>
<span id="cb59-2"><a href="data-objekt-och-funktioner.html#cb59-2" aria-hidden="true" tabindex="-1"></a><span class="er">></span> x_new <span class="ot"><-</span> x <span class="co"># Skapar en ny vektor x_new</span></span>
<span id="cb59-3"><a href="data-objekt-och-funktioner.html#cb59-3" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> x_new <span class="co"># Skriver ut den nya vektorn. Notera vilket värde element nr. 3 har.</span></span>
<span id="cb59-4"><a href="data-objekt-och-funktioner.html#cb59-4" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">3</span> <span class="dv">1</span> <span class="dv">1</span> <span class="dv">5</span> <span class="dv">0</span></span>
<span id="cb59-5"><a href="data-objekt-och-funktioner.html#cb59-5" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> x_new[<span class="dv">3</span>] <span class="ot"><-</span> <span class="dv">4</span> <span class="co"># Byter värde på element nr. 3 i x_new. Det nya värdet är 4</span></span>
<span id="cb59-6"><a href="data-objekt-och-funktioner.html#cb59-6" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> x_new <span class="co"># Skriver ut x_new igen. Notera att värdet på element nr. 3 har ändrats</span></span>
<span id="cb59-7"><a href="data-objekt-och-funktioner.html#cb59-7" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">3</span> <span class="dv">1</span> <span class="dv">4</span> <span class="dv">5</span> <span class="dv">0</span></span>
<span id="cb59-8"><a href="data-objekt-och-funktioner.html#cb59-8" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> </span>
<span id="cb59-9"><a href="data-objekt-och-funktioner.html#cb59-9" aria-hidden="true" tabindex="-1"></a><span class="er">></span> </span>
<span id="cb59-10"><a href="data-objekt-och-funktioner.html#cb59-10" aria-hidden="true" tabindex="-1"></a><span class="er">></span> <span class="co"># Ändra element 3 från "Iceland" till 4</span></span>
<span id="cb59-11"><a href="data-objekt-och-funktioner.html#cb59-11" aria-hidden="true" tabindex="-1"></a><span class="er">></span> nordic_countries_new <span class="ot"><-</span> nordic_countries</span>
<span id="cb59-12"><a href="data-objekt-och-funktioner.html#cb59-12" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> </span>
<span id="cb59-13"><a href="data-objekt-och-funktioner.html#cb59-13" aria-hidden="true" tabindex="-1"></a><span class="er">></span> nordic_countries_new</span>
<span id="cb59-14"><a href="data-objekt-och-funktioner.html#cb59-14" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="st">"Denmark"</span> <span class="st">"Finland"</span> <span class="st">"Iceland"</span> <span class="st">"Norway"</span> <span class="st">"Sweden"</span></span>
<span id="cb59-15"><a href="data-objekt-och-funktioner.html#cb59-15" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> nordic_countries_new[<span class="dv">3</span>] <span class="ot"><-</span> <span class="dv">4</span></span>
<span id="cb59-16"><a href="data-objekt-och-funktioner.html#cb59-16" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> nordic_countries_new </span>
<span id="cb59-17"><a href="data-objekt-och-funktioner.html#cb59-17" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="st">"Denmark"</span> <span class="st">"Finland"</span> <span class="st">"4"</span> <span class="st">"Norway"</span> <span class="st">"Sweden"</span></span></code></pre></div>
<p>Ovanstående kod illustrerar två vanliga företeelser:</p>
<ul>
<li>Vektorerna <strong>x_new</strong> och <strong>nordic_countries_new</strong> skapas på grund av att användaren ofta önskar behålla originalvektorerna <strong>x</strong> och <strong>nordic_countries</strong>. För säkerhets skull är det alltid bra att behålla ursprungsdata.</li>
<li>Om ett numeriskt värde läggs till en vektor med bokstäver så tolkas det numeriska värdet som ett tecken, dvs <code>"4"</code>. Det illustrerar vikten av vara noga med om vektorerna är <code>numeric</code> eller <code>character</code></li>
</ul>
</div>
<div id="vektorer-och-logiska-operatorer" class="section level3 hasAnchor" number="3.2.2">
<h3><span class="header-section-number">3.2.2</span> Vektorer och logiska operatorer<a href="data-objekt-och-funktioner.html#vektorer-och-logiska-operatorer" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>I praktiken är det vanligt att vilja välja ut element som uppfyller vissa specifika krav ur en vektor, särskilt när variabler ska kodas om. För att underlätta denna typ indexering kan <strong>logiska operatorer</strong> operatorer användas. Logiska operatorer används för att låta <code>R</code> testa huruvida ett specifikt påstående är sant eller falskt. Några vanliga och viktiga logiska operatorer är:</p>
<ul>
<li><code>></code> är större än.</li>
<li><code><</code> är mindre än.</li>
<li><code>>=</code> större än eller lika med</li>
<li><code><=</code> mindre än eller lika med</li>
<li><code>==</code> lika med.</li>
<li><code>!=</code> är ej lika med</li>
<li><code>x|y</code> <span class="math inline">\(x\)</span> eller <span class="math inline">\(y\)</span></li>
<li><code>x & y</code> <span class="math inline">\(x\)</span> och <span class="math inline">\(y\)</span></li>
</ul>
<p>För att illustrera hur logiska operatorer används för att skriva <strong>logiska satser</strong> används ett par väldigt grundläggande exempel</p>
<div class="sourceCode" id="cb60"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb60-1"><a href="data-objekt-och-funktioner.html#cb60-1" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="dv">2</span> <span class="sc">></span> <span class="dv">1</span> <span class="co"># Testar huruvida 2 är större än 1</span></span>
<span id="cb60-2"><a href="data-objekt-och-funktioner.html#cb60-2" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="cn">TRUE</span></span>
<span id="cb60-3"><a href="data-objekt-och-funktioner.html#cb60-3" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> </span>
<span id="cb60-4"><a href="data-objekt-och-funktioner.html#cb60-4" aria-hidden="true" tabindex="-1"></a><span class="er">></span> <span class="dv">2</span> <span class="sc"><</span> <span class="dv">1</span> <span class="co"># Testar huruvida 2 är mindre än 1</span></span>
<span id="cb60-5"><a href="data-objekt-och-funktioner.html#cb60-5" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="cn">FALSE</span></span>
<span id="cb60-6"><a href="data-objekt-och-funktioner.html#cb60-6" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> </span>
<span id="cb60-7"><a href="data-objekt-och-funktioner.html#cb60-7" aria-hidden="true" tabindex="-1"></a><span class="er">></span> <span class="dv">2</span> <span class="sc">==</span> <span class="dv">1</span> <span class="co"># Testar huruvida 2 är lika med 1</span></span>
<span id="cb60-8"><a href="data-objekt-och-funktioner.html#cb60-8" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="cn">FALSE</span></span></code></pre></div>
<p>Som synes är resultaten precis vad som förväntas.</p>
<style>
div.yellow{ background-color:#FFFA94; border-radius: 5px; padding: 20px;}
</style>
<div class="yellow">
<p><font size="5"> <strong>Övningsuppgift</strong> </font></p>
<p>Antag att du har skapat objekten <code>a <- 1</code>, <code>b <- 4</code>, och <code>c <- "Finland"</code>. Utan att använda <code>R</code>, försök komma på huruvida följande logiska satser kommer resultera i <code>TRUE</code> eller <code>FALSE</code></p>
<ol style="list-style-type: decimal">
<li><code>a > b</code></li>
<li><code>a == b</code></li>
<li><code>(b - 3) <= a</code></li>
<li><code>a > 3</code></li>
<li><code>b > 3</code></li>
<li><code>(a > 2) | (b > 3)</code></li>
<li><code>(a > 0) & (a <= 1)</code></li>
<li><code>c == "Norge"</code></li>
<li><code>c == "Finland"</code></li>
</ol>
<p>När du har ett svar till varje rad kan du skapa objekten <code>a</code>, <code>b</code>, och <code>c</code> och köra de logiska satserna i <code>R</code> för att se om du kom fram till rätt svar.</p>
</div>
<p>Logiska operatorer kan även användas på hela vektorer, och de utvärderar då påståendet enskilt för vektorns alla element. Koden nedan exemplifierar detta</p>
<div class="sourceCode" id="cb61"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb61-1"><a href="data-objekt-och-funktioner.html#cb61-1" aria-hidden="true" tabindex="-1"></a><span class="sc">></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 class="sc">>=</span> <span class="dv">3</span></span>
<span id="cb61-2"><a href="data-objekt-och-funktioner.html#cb61-2" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="cn">FALSE</span> <span class="cn">FALSE</span> <span class="cn">TRUE</span> <span class="cn">TRUE</span> <span class="cn">TRUE</span></span>
<span id="cb61-3"><a href="data-objekt-och-funktioner.html#cb61-3" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> </span>
<span id="cb61-4"><a href="data-objekt-och-funktioner.html#cb61-4" aria-hidden="true" tabindex="-1"></a><span class="er">></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 class="sc">!=</span> <span class="dv">3</span></span>
<span id="cb61-5"><a href="data-objekt-och-funktioner.html#cb61-5" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="cn">TRUE</span> <span class="cn">TRUE</span> <span class="cn">FALSE</span> <span class="cn">TRUE</span> <span class="cn">TRUE</span></span></code></pre></div>
<p>Logiska satser kan användas för att indexera vektorer. Se koden nedan som exempel.</p>
<div class="sourceCode" id="cb62"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb62-1"><a href="data-objekt-och-funktioner.html#cb62-1" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> x</span>
<span id="cb62-2"><a href="data-objekt-och-funktioner.html#cb62-2" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">3</span> <span class="dv">1</span> <span class="dv">1</span> <span class="dv">5</span> <span class="dv">0</span></span>
<span id="cb62-3"><a href="data-objekt-och-funktioner.html#cb62-3" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> </span>
<span id="cb62-4"><a href="data-objekt-och-funktioner.html#cb62-4" aria-hidden="true" tabindex="-1"></a><span class="er">></span> x <span class="sc">></span> <span class="dv">3</span></span>
<span id="cb62-5"><a href="data-objekt-och-funktioner.html#cb62-5" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="cn">FALSE</span> <span class="cn">FALSE</span> <span class="cn">FALSE</span> <span class="cn">TRUE</span> <span class="cn">FALSE</span></span>
<span id="cb62-6"><a href="data-objekt-och-funktioner.html#cb62-6" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> </span>
<span id="cb62-7"><a href="data-objekt-och-funktioner.html#cb62-7" aria-hidden="true" tabindex="-1"></a><span class="er">></span> x[x <span class="sc">></span> <span class="dv">3</span>]</span>
<span id="cb62-8"><a href="data-objekt-och-funktioner.html#cb62-8" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">5</span></span></code></pre></div>
<p>Satsen <code>x > 3</code> visar <code>TRUE</code> för de element i <span class="math inline">\(x\)</span> som är större än 3, och <code>FALSE</code> för övriga element. När en logisk sats används inuti en hakparentes tolkar <code>R</code> det som att användaren vill välja ut de värden för vilka den logiska satsen är sann. I den logiska satsen ovan är det bara det fjärde elementet som är <code>TRUE</code>, och därför väljs bara det fjärde elementet ur <span class="math inline">\(x\)</span>. På liknande sätt kan vektorn <span class="math inline">\(x\)</span> användas för att välja ut vissa specifika värden ur vektorn <span class="math inline">\(y\)</span>, som i koden nedan.</p>
<div class="sourceCode" id="cb63"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb63-1"><a href="data-objekt-och-funktioner.html#cb63-1" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> y</span>
<span id="cb63-2"><a href="data-objekt-och-funktioner.html#cb63-2" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">2</span> <span class="dv">3</span> <span class="dv">5</span> <span class="dv">6</span> <span class="dv">9</span></span>
<span id="cb63-3"><a href="data-objekt-och-funktioner.html#cb63-3" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> </span>
<span id="cb63-4"><a href="data-objekt-och-funktioner.html#cb63-4" aria-hidden="true" tabindex="-1"></a><span class="er">></span> x <span class="sc">></span> <span class="dv">3</span></span>
<span id="cb63-5"><a href="data-objekt-och-funktioner.html#cb63-5" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="cn">FALSE</span> <span class="cn">FALSE</span> <span class="cn">FALSE</span> <span class="cn">TRUE</span> <span class="cn">FALSE</span></span>
<span id="cb63-6"><a href="data-objekt-och-funktioner.html#cb63-6" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> </span>
<span id="cb63-7"><a href="data-objekt-och-funktioner.html#cb63-7" aria-hidden="true" tabindex="-1"></a><span class="er">></span> y[x <span class="sc">></span> <span class="dv">3</span>]</span>
<span id="cb63-8"><a href="data-objekt-och-funktioner.html#cb63-8" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">6</span></span></code></pre></div>
<p>Den sista raden i kodsnutten ovan väljer ut de element i <span class="math inline">\(y\)</span>, för vilka motsvarande element i <span class="math inline">\(x\)</span> är större än 3. Detta kan låta lite påhittat och ganska abstrakt, men denna typ av indexering fyller en viktig funktion i <code>R</code>. Antag, till exempel, att en forskare studerar ingångslöner för studenter som tagit examen i statsvetenskap vid UU. Forskaren frågar ett urval av gamla studenter vad de fick för ingångslön på sin första jobb efter examen och även vilken typ av examen de tog ut. Säg att informationen matas in i två vektorer, <code>lon</code> och <code>examen</code> för lön respektive examenstyp. Med hjälp av logiska operatorer är det då enkelt att göra analyser grupp för grupp, eftersom löner för studenter med masterexamen lätt kan plockas ut som <code>lon[examen == "master"]</code>. Om det är många studenter i urvalet är det mycket smidigare att göra på detta sättet än att gå igenom datamaterialet och ange vilka positioner studenterna i varje grupp har. Fler exempel på hur logiska operatorer kan användas för indexering följer nedan.</p>
<ol style="list-style-type: decimal">
<li>Fortsätt scriptet genom att skriva in nedanstående kod. Spara och kör koden.</li>
</ol>
<div class="sourceCode" id="cb64"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb64-1"><a href="data-objekt-och-funktioner.html#cb64-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Visa element i vektor y som är större än 6</span></span>
<span id="cb64-2"><a href="data-objekt-och-funktioner.html#cb64-2" aria-hidden="true" tabindex="-1"></a>y[y <span class="sc">></span> <span class="dv">6</span>]</span>
<span id="cb64-3"><a href="data-objekt-och-funktioner.html#cb64-3" aria-hidden="true" tabindex="-1"></a><span class="co"># Visa element i vektor y som är större än eller lika med 6</span></span>
<span id="cb64-4"><a href="data-objekt-och-funktioner.html#cb64-4" aria-hidden="true" tabindex="-1"></a>y[y <span class="sc">>=</span> <span class="dv">6</span>]</span>
<span id="cb64-5"><a href="data-objekt-och-funktioner.html#cb64-5" aria-hidden="true" tabindex="-1"></a><span class="co"># Visa element i vektor y från positioner där x har värden lika med 1. </span></span>
<span id="cb64-6"><a href="data-objekt-och-funktioner.html#cb64-6" aria-hidden="true" tabindex="-1"></a><span class="co"># (Kräver att x och y har lika många element) </span></span>
<span id="cb64-7"><a href="data-objekt-och-funktioner.html#cb64-7" aria-hidden="true" tabindex="-1"></a>y[x <span class="sc">==</span> <span class="dv">1</span>]</span>
<span id="cb64-8"><a href="data-objekt-och-funktioner.html#cb64-8" aria-hidden="true" tabindex="-1"></a><span class="co"># Visa element i vektor där x är ej lika med 1.</span></span>
<span id="cb64-9"><a href="data-objekt-och-funktioner.html#cb64-9" aria-hidden="true" tabindex="-1"></a>y[x <span class="sc">!=</span> <span class="dv">1</span>]</span>
<span id="cb64-10"><a href="data-objekt-och-funktioner.html#cb64-10" aria-hidden="true" tabindex="-1"></a><span class="co"># Visa element i vektor y från positioner där nordic_countries == "Finland"</span></span>
<span id="cb64-11"><a href="data-objekt-och-funktioner.html#cb64-11" aria-hidden="true" tabindex="-1"></a>y[nordic_countries <span class="sc">==</span> <span class="st">"Finland"</span>]</span></code></pre></div>
<p>I Console visas</p>
<div class="sourceCode" id="cb65"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb65-1"><a href="data-objekt-och-funktioner.html#cb65-1" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Visa element i vektor y som är större än 6</span></span>
<span id="cb65-2"><a href="data-objekt-och-funktioner.html#cb65-2" aria-hidden="true" tabindex="-1"></a><span class="er">></span> y[y <span class="sc">></span> <span class="dv">6</span>]</span>
<span id="cb65-3"><a href="data-objekt-och-funktioner.html#cb65-3" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">9</span></span>
<span id="cb65-4"><a href="data-objekt-och-funktioner.html#cb65-4" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Visa element i vektor y som är större än eller lika med 6</span></span>
<span id="cb65-5"><a href="data-objekt-och-funktioner.html#cb65-5" aria-hidden="true" tabindex="-1"></a><span class="er">></span> y[y <span class="sc">>=</span> <span class="dv">6</span>]</span>
<span id="cb65-6"><a href="data-objekt-och-funktioner.html#cb65-6" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">6</span> <span class="dv">9</span></span>
<span id="cb65-7"><a href="data-objekt-och-funktioner.html#cb65-7" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Visa element i vektor y från positioner där x har värden lika med 1. </span></span>
<span id="cb65-8"><a href="data-objekt-och-funktioner.html#cb65-8" aria-hidden="true" tabindex="-1"></a><span class="er">></span> <span class="co"># (Kräver att x och y har lika många element) </span></span>
<span id="cb65-9"><a href="data-objekt-och-funktioner.html#cb65-9" aria-hidden="true" tabindex="-1"></a><span class="er">></span> y[x <span class="sc">==</span> <span class="dv">1</span>]</span>
<span id="cb65-10"><a href="data-objekt-och-funktioner.html#cb65-10" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">3</span> <span class="dv">5</span></span>
<span id="cb65-11"><a href="data-objekt-och-funktioner.html#cb65-11" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Visa element i vektor där x är ej lika med 1.</span></span>
<span id="cb65-12"><a href="data-objekt-och-funktioner.html#cb65-12" aria-hidden="true" tabindex="-1"></a><span class="er">></span> y[x <span class="sc">!=</span> <span class="dv">1</span>]</span>
<span id="cb65-13"><a href="data-objekt-och-funktioner.html#cb65-13" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">2</span> <span class="dv">6</span> <span class="dv">9</span></span>
<span id="cb65-14"><a href="data-objekt-och-funktioner.html#cb65-14" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Visa element i vektor y från positioner där nordic_countries == "Finland"</span></span>
<span id="cb65-15"><a href="data-objekt-och-funktioner.html#cb65-15" aria-hidden="true" tabindex="-1"></a><span class="er">></span> y[nordic_countries <span class="sc">==</span> <span class="st">"Finland"</span>]</span>
<span id="cb65-16"><a href="data-objekt-och-funktioner.html#cb65-16" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">3</span></span></code></pre></div>
<p>Precis som förut skapas i regel nya vektorer när logiska operatorer tillämpas.</p>
<ol start="2" style="list-style-type: decimal">
<li>Skriv in nedanstående i scriptet, spara och kör koden.</li>
</ol>
<div class="sourceCode" id="cb66"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb66-1"><a href="data-objekt-och-funktioner.html#cb66-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Välj vektorn som är större än eller lika med 6</span></span>
<span id="cb66-2"><a href="data-objekt-och-funktioner.html#cb66-2" aria-hidden="true" tabindex="-1"></a>ysub <span class="ot"><-</span> y[y <span class="sc">>=</span> <span class="dv">6</span>] </span>
<span id="cb66-3"><a href="data-objekt-och-funktioner.html#cb66-3" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb66-4"><a href="data-objekt-och-funktioner.html#cb66-4" aria-hidden="true" tabindex="-1"></a><span class="co"># Skapa en binär vektor x_bin som är 1 om x är större än eller lika med 3 och 0</span></span>
<span id="cb66-5"><a href="data-objekt-och-funktioner.html#cb66-5" aria-hidden="true" tabindex="-1"></a><span class="co"># om x är mindre än 3. Börja med att skapa en tom vektor med motsvarande antal element</span></span>
<span id="cb66-6"><a href="data-objekt-och-funktioner.html#cb66-6" aria-hidden="true" tabindex="-1"></a><span class="co"># och fyll sedan denna med saknade värden.</span></span>
<span id="cb66-7"><a href="data-objekt-och-funktioner.html#cb66-7" aria-hidden="true" tabindex="-1"></a>x_bin <span class="ot"><-</span> <span class="fu">c</span>(<span class="cn">NA</span>, <span class="cn">NA</span>, <span class="cn">NA</span>, <span class="cn">NA</span>, <span class="cn">NA</span>)</span>
<span id="cb66-8"><a href="data-objekt-och-funktioner.html#cb66-8" aria-hidden="true" tabindex="-1"></a>x_bin[x <span class="sc">>=</span><span class="dv">3</span>] <span class="ot"><-</span> <span class="dv">1</span></span>
<span id="cb66-9"><a href="data-objekt-och-funktioner.html#cb66-9" aria-hidden="true" tabindex="-1"></a>x_bin[x <span class="sc"><</span> <span class="dv">3</span>] <span class="ot"><-</span> <span class="dv">0</span></span>
<span id="cb66-10"><a href="data-objekt-och-funktioner.html#cb66-10" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb66-11"><a href="data-objekt-och-funktioner.html#cb66-11" aria-hidden="true" tabindex="-1"></a><span class="co"># Skapa en tom vektor med 5 element och fyll därefter denna vektor med</span></span>
<span id="cb66-12"><a href="data-objekt-och-funktioner.html#cb66-12" aria-hidden="true" tabindex="-1"></a><span class="co"># data om landet är skandinaviskt eller ej</span></span>
<span id="cb66-13"><a href="data-objekt-och-funktioner.html#cb66-13" aria-hidden="true" tabindex="-1"></a>scandinavia <span class="ot"><-</span> <span class="fu">c</span>(<span class="cn">NA</span>, <span class="cn">NA</span>, <span class="cn">NA</span>, <span class="cn">NA</span>, <span class="cn">NA</span>) </span>
<span id="cb66-14"><a href="data-objekt-och-funktioner.html#cb66-14" aria-hidden="true" tabindex="-1"></a>scandinavia[nordic_countries <span class="sc">==</span> <span class="st">"Finland"</span>] <span class="ot"><-</span> <span class="st">"Not scandinavia"</span></span>
<span id="cb66-15"><a href="data-objekt-och-funktioner.html#cb66-15" aria-hidden="true" tabindex="-1"></a>scandinavia[nordic_countries <span class="sc">==</span> <span class="st">"Denmark"</span>] <span class="ot"><-</span> <span class="st">"Scandinavia"</span></span>
<span id="cb66-16"><a href="data-objekt-och-funktioner.html#cb66-16" aria-hidden="true" tabindex="-1"></a>scandinavia[nordic_countries <span class="sc">==</span> <span class="st">"Sweden"</span>] <span class="ot"><-</span> <span class="st">"Scandinavia"</span></span>
<span id="cb66-17"><a href="data-objekt-och-funktioner.html#cb66-17" aria-hidden="true" tabindex="-1"></a>scandinavia[nordic_countries <span class="sc">==</span> <span class="st">"Norway"</span>] <span class="ot"><-</span> <span class="st">"Scandinavia"</span></span>
<span id="cb66-18"><a href="data-objekt-och-funktioner.html#cb66-18" aria-hidden="true" tabindex="-1"></a>scandinavia[nordic_countries <span class="sc">==</span> <span class="st">"Iceland"</span>] <span class="ot"><-</span> <span class="st">"Not scandinavia"</span></span>
<span id="cb66-19"><a href="data-objekt-och-funktioner.html#cb66-19" aria-hidden="true" tabindex="-1"></a>scandinavia</span></code></pre></div>
<p>I Console visas</p>
<div class="sourceCode" id="cb67"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb67-1"><a href="data-objekt-och-funktioner.html#cb67-1" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Välj vektorn som är större än eller lika med 6</span></span>
<span id="cb67-2"><a href="data-objekt-och-funktioner.html#cb67-2" aria-hidden="true" tabindex="-1"></a><span class="er">></span> ysub <span class="ot"><-</span> y[y <span class="sc">>=</span> <span class="dv">6</span>] </span>
<span id="cb67-3"><a href="data-objekt-och-funktioner.html#cb67-3" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> </span>
<span id="cb67-4"><a href="data-objekt-och-funktioner.html#cb67-4" aria-hidden="true" tabindex="-1"></a><span class="er">></span> <span class="co"># Skapa en binär vektor x_bin som är 1 om x är större än eller lika med 3 och 0</span></span>
<span id="cb67-5"><a href="data-objekt-och-funktioner.html#cb67-5" aria-hidden="true" tabindex="-1"></a><span class="er">></span> <span class="co"># om x är mindre än 3. Börja med att skapa en tom vektor med motsvarande antal element</span></span>
<span id="cb67-6"><a href="data-objekt-och-funktioner.html#cb67-6" aria-hidden="true" tabindex="-1"></a><span class="er">></span> <span class="co"># och fyll sedan denna med saknade värden.</span></span>
<span id="cb67-7"><a href="data-objekt-och-funktioner.html#cb67-7" aria-hidden="true" tabindex="-1"></a><span class="er">></span> x_bin <span class="ot"><-</span> <span class="fu">c</span>(<span class="cn">NA</span>, <span class="cn">NA</span>, <span class="cn">NA</span>, <span class="cn">NA</span>, <span class="cn">NA</span>)</span>
<span id="cb67-8"><a href="data-objekt-och-funktioner.html#cb67-8" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> x_bin[x <span class="sc">>=</span><span class="dv">3</span>] <span class="ot"><-</span> <span class="dv">1</span></span>
<span id="cb67-9"><a href="data-objekt-och-funktioner.html#cb67-9" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> x_bin[x <span class="sc"><</span> <span class="dv">3</span>] <span class="ot"><-</span> <span class="dv">0</span></span>
<span id="cb67-10"><a href="data-objekt-och-funktioner.html#cb67-10" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> x</span>
<span id="cb67-11"><a href="data-objekt-och-funktioner.html#cb67-11" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">3</span> <span class="dv">1</span> <span class="dv">1</span> <span class="dv">5</span> <span class="dv">0</span></span>
<span id="cb67-12"><a href="data-objekt-och-funktioner.html#cb67-12" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> x_bin</span>
<span id="cb67-13"><a href="data-objekt-och-funktioner.html#cb67-13" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">1</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">1</span> <span class="dv">0</span></span>
<span id="cb67-14"><a href="data-objekt-och-funktioner.html#cb67-14" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Skapa en tom vektor med 5 element och fyll därefter denna vektor med</span></span>
<span id="cb67-15"><a href="data-objekt-och-funktioner.html#cb67-15" aria-hidden="true" tabindex="-1"></a><span class="er">></span> <span class="co"># data om landet är skandinaviskt eller ej</span></span>
<span id="cb67-16"><a href="data-objekt-och-funktioner.html#cb67-16" aria-hidden="true" tabindex="-1"></a><span class="er">></span> scandinavia <span class="ot"><-</span> <span class="fu">c</span>(<span class="cn">NA</span>, <span class="cn">NA</span>, <span class="cn">NA</span>, <span class="cn">NA</span>, <span class="cn">NA</span>) </span>
<span id="cb67-17"><a href="data-objekt-och-funktioner.html#cb67-17" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> scandinavia[nordic_countries <span class="sc">==</span> <span class="st">"Finland"</span>] <span class="ot"><-</span> <span class="st">"Not scandinavia"</span></span>
<span id="cb67-18"><a href="data-objekt-och-funktioner.html#cb67-18" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> scandinavia[nordic_countries <span class="sc">==</span> <span class="st">"Denmark"</span>] <span class="ot"><-</span> <span class="st">"Scandinavia"</span></span>
<span id="cb67-19"><a href="data-objekt-och-funktioner.html#cb67-19" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> scandinavia[nordic_countries <span class="sc">==</span> <span class="st">"Sweden"</span>] <span class="ot"><-</span> <span class="st">"Scandinavia"</span></span>
<span id="cb67-20"><a href="data-objekt-och-funktioner.html#cb67-20" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> scandinavia[nordic_countries <span class="sc">==</span> <span class="st">"Norway"</span>] <span class="ot"><-</span> <span class="st">"Scandinavia"</span></span>
<span id="cb67-21"><a href="data-objekt-och-funktioner.html#cb67-21" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> scandinavia[nordic_countries <span class="sc">==</span> <span class="st">"Iceland"</span>] <span class="ot"><-</span> <span class="st">"Not scandinavia"</span></span>
<span id="cb67-22"><a href="data-objekt-och-funktioner.html#cb67-22" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> scandinavia</span>
<span id="cb67-23"><a href="data-objekt-och-funktioner.html#cb67-23" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="st">"Scandinavia"</span> <span class="st">"Not scandinavia"</span> <span class="st">"Not scandinavia"</span> <span class="st">"Scandinavia"</span> </span>
<span id="cb67-24"><a href="data-objekt-och-funktioner.html#cb67-24" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">5</span>] <span class="st">"Scandinavia"</span></span></code></pre></div>
<p>Ovanstående moment är <strong>viktigt</strong>. Här illustreras nämligen en grundläggande princip för skapandet av nya variabel, dvs först skapa en tom vektor som sedans fylls med information. Även om det finns alternativa kompaktare sätt att koda om vektorer (och följaktligen variabler), är det ovanstående tillvägagångssätt som rekommenderas starkt på denna kurs.</p>
<p>Nästa steg är att använda den logiska operatorn <em>&</em>.</p>
<ol start="3" style="list-style-type: decimal">
<li>Skriv in nedanstående i scriptet, spara och kör koden.</li>
</ol>
<div class="sourceCode" id="cb68"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb68-1"><a href="data-objekt-och-funktioner.html#cb68-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Skapa en vektor z_trinary som är</span></span>
<span id="cb68-2"><a href="data-objekt-och-funktioner.html#cb68-2" aria-hidden="true" tabindex="-1"></a><span class="co"># 1 om z är mindre än eller lika med 1</span></span>
<span id="cb68-3"><a href="data-objekt-och-funktioner.html#cb68-3" aria-hidden="true" tabindex="-1"></a><span class="co"># 2 om z är större än 1 eller mindre än eller lika med 5 </span></span>
<span id="cb68-4"><a href="data-objekt-och-funktioner.html#cb68-4" aria-hidden="true" tabindex="-1"></a><span class="co"># 3 om z är större än 5 </span></span>
<span id="cb68-5"><a href="data-objekt-och-funktioner.html#cb68-5" aria-hidden="true" tabindex="-1"></a>z_trinary <span class="ot"><-</span> <span class="fu">c</span>(<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>)</span>
<span id="cb68-6"><a href="data-objekt-och-funktioner.html#cb68-6" aria-hidden="true" tabindex="-1"></a>z_trinary[z <span class="sc"><=</span> <span class="dv">1</span>] <span class="ot"><-</span> <span class="dv">1</span></span>
<span id="cb68-7"><a href="data-objekt-och-funktioner.html#cb68-7" aria-hidden="true" tabindex="-1"></a>z_trinary[(z <span class="sc">></span> <span class="dv">1</span>) <span class="sc">&</span> (z <span class="sc"><=</span><span class="dv">5</span>)] <span class="ot"><-</span> <span class="dv">2</span></span>
<span id="cb68-8"><a href="data-objekt-och-funktioner.html#cb68-8" aria-hidden="true" tabindex="-1"></a>z_trinary[z <span class="sc">></span> <span class="dv">5</span>] <span class="ot"><-</span> <span class="dv">3</span></span>
<span id="cb68-9"><a href="data-objekt-och-funktioner.html#cb68-9" aria-hidden="true" tabindex="-1"></a>z</span>
<span id="cb68-10"><a href="data-objekt-och-funktioner.html#cb68-10" aria-hidden="true" tabindex="-1"></a>z_trinary</span>
<span id="cb68-11"><a href="data-objekt-och-funktioner.html#cb68-11" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb68-12"><a href="data-objekt-och-funktioner.html#cb68-12" aria-hidden="true" tabindex="-1"></a><span class="co"># Skapa en binära variabler z1, z2 och z3</span></span>
<span id="cb68-13"><a href="data-objekt-och-funktioner.html#cb68-13" aria-hidden="true" tabindex="-1"></a>z1 <span class="ot"><-</span> <span class="fu">c</span>(<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>)</span>
<span id="cb68-14"><a href="data-objekt-och-funktioner.html#cb68-14" aria-hidden="true" tabindex="-1"></a>z1[z_trinary <span class="sc">==</span> <span class="dv">1</span>] <span class="ot"><-</span> <span class="dv">1</span></span>
<span id="cb68-15"><a href="data-objekt-och-funktioner.html#cb68-15" aria-hidden="true" tabindex="-1"></a>z1[z_trinary <span class="sc">==</span> <span class="dv">2</span>] <span class="ot"><-</span> <span class="dv">0</span></span>
<span id="cb68-16"><a href="data-objekt-och-funktioner.html#cb68-16" aria-hidden="true" tabindex="-1"></a>z1[z_trinary <span class="sc">==</span> <span class="dv">3</span>] <span class="ot"><-</span> <span class="dv">0</span></span>
<span id="cb68-17"><a href="data-objekt-och-funktioner.html#cb68-17" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb68-18"><a href="data-objekt-och-funktioner.html#cb68-18" aria-hidden="true" tabindex="-1"></a>z2 <span class="ot"><-</span> <span class="fu">c</span>(<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>)</span>
<span id="cb68-19"><a href="data-objekt-och-funktioner.html#cb68-19" aria-hidden="true" tabindex="-1"></a>z2[z_trinary <span class="sc">==</span> <span class="dv">1</span>] <span class="ot"><-</span> <span class="dv">0</span></span>
<span id="cb68-20"><a href="data-objekt-och-funktioner.html#cb68-20" aria-hidden="true" tabindex="-1"></a>z2[z_trinary <span class="sc">==</span> <span class="dv">2</span>] <span class="ot"><-</span> <span class="dv">1</span></span>
<span id="cb68-21"><a href="data-objekt-och-funktioner.html#cb68-21" aria-hidden="true" tabindex="-1"></a>z2[z_trinary <span class="sc">==</span> <span class="dv">3</span>] <span class="ot"><-</span> <span class="dv">0</span></span>
<span id="cb68-22"><a href="data-objekt-och-funktioner.html#cb68-22" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb68-23"><a href="data-objekt-och-funktioner.html#cb68-23" aria-hidden="true" tabindex="-1"></a>z3 <span class="ot"><-</span> <span class="fu">c</span>(<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>)</span>
<span id="cb68-24"><a href="data-objekt-och-funktioner.html#cb68-24" aria-hidden="true" tabindex="-1"></a>z3[z_trinary <span class="sc">==</span> <span class="dv">1</span>] <span class="ot"><-</span> <span class="dv">0</span></span>
<span id="cb68-25"><a href="data-objekt-och-funktioner.html#cb68-25" aria-hidden="true" tabindex="-1"></a>z3[z_trinary <span class="sc">==</span> <span class="dv">2</span>] <span class="ot"><-</span> <span class="dv">0</span></span>
<span id="cb68-26"><a href="data-objekt-och-funktioner.html#cb68-26" aria-hidden="true" tabindex="-1"></a>z3[z_trinary <span class="sc">==</span> <span class="dv">3</span>] <span class="ot"><-</span> <span class="dv">1</span></span>
<span id="cb68-27"><a href="data-objekt-och-funktioner.html#cb68-27" aria-hidden="true" tabindex="-1"></a>z1</span>
<span id="cb68-28"><a href="data-objekt-och-funktioner.html#cb68-28" aria-hidden="true" tabindex="-1"></a>z2</span>
<span id="cb68-29"><a href="data-objekt-och-funktioner.html#cb68-29" aria-hidden="true" tabindex="-1"></a>z3</span></code></pre></div>
<p>I Console redovisas följande.</p>
<div class="sourceCode" id="cb69"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb69-1"><a href="data-objekt-och-funktioner.html#cb69-1" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Skapa en vektor z_trinary som är</span></span>
<span id="cb69-2"><a href="data-objekt-och-funktioner.html#cb69-2" aria-hidden="true" tabindex="-1"></a><span class="er">></span> <span class="co"># 1 om z är mindre än eller lika med 1</span></span>
<span id="cb69-3"><a href="data-objekt-och-funktioner.html#cb69-3" aria-hidden="true" tabindex="-1"></a><span class="er">></span> <span class="co"># 2 om z är större än 1 eller mindre än eller lika med 5 </span></span>
<span id="cb69-4"><a href="data-objekt-och-funktioner.html#cb69-4" aria-hidden="true" tabindex="-1"></a><span class="er">></span> <span class="co"># 3 om z är större än 5 </span></span>
<span id="cb69-5"><a href="data-objekt-och-funktioner.html#cb69-5" aria-hidden="true" tabindex="-1"></a><span class="er">></span> z_trinary <span class="ot"><-</span> <span class="fu">c</span>(<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>)</span>
<span id="cb69-6"><a href="data-objekt-och-funktioner.html#cb69-6" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> z_trinary[z <span class="sc"><=</span> <span class="dv">1</span>] <span class="ot"><-</span> <span class="dv">1</span></span>
<span id="cb69-7"><a href="data-objekt-och-funktioner.html#cb69-7" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> z_trinary[(z <span class="sc">></span> <span class="dv">1</span>) <span class="sc">&</span> (z <span class="sc"><=</span> <span class="dv">5</span>)] <span class="ot"><-</span> <span class="dv">2</span></span>
<span id="cb69-8"><a href="data-objekt-och-funktioner.html#cb69-8" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> z_trinary[z <span class="sc">></span> <span class="dv">5</span>] <span class="ot"><-</span> <span class="dv">3</span></span>
<span id="cb69-9"><a href="data-objekt-och-funktioner.html#cb69-9" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> z</span>
<span id="cb69-10"><a href="data-objekt-och-funktioner.html#cb69-10" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">3</span> <span class="dv">1</span> <span class="dv">1</span> <span class="dv">5</span> <span class="dv">0</span> <span class="dv">2</span> <span class="dv">3</span> <span class="dv">5</span> <span class="dv">6</span> <span class="dv">9</span></span>
<span id="cb69-11"><a href="data-objekt-och-funktioner.html#cb69-11" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> z_trinary</span>
<span id="cb69-12"><a href="data-objekt-och-funktioner.html#cb69-12" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">2</span> <span class="dv">1</span> <span class="dv">1</span> <span class="dv">2</span> <span class="dv">1</span> <span class="dv">2</span> <span class="dv">2</span> <span class="dv">2</span> <span class="dv">3</span> <span class="dv">3</span></span>
<span id="cb69-13"><a href="data-objekt-och-funktioner.html#cb69-13" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> </span>
<span id="cb69-14"><a href="data-objekt-och-funktioner.html#cb69-14" aria-hidden="true" tabindex="-1"></a><span class="er">></span> <span class="co"># Skapa en binära variabler z1, z2 och z3</span></span>
<span id="cb69-15"><a href="data-objekt-och-funktioner.html#cb69-15" aria-hidden="true" tabindex="-1"></a><span class="er">></span> z1 <span class="ot"><-</span> <span class="fu">c</span>(<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>)</span>
<span id="cb69-16"><a href="data-objekt-och-funktioner.html#cb69-16" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> z1[z_trinary <span class="sc">==</span> <span class="dv">1</span>] <span class="ot"><-</span> <span class="dv">1</span></span>
<span id="cb69-17"><a href="data-objekt-och-funktioner.html#cb69-17" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> z1[z_trinary <span class="sc">==</span> <span class="dv">2</span>] <span class="ot"><-</span> <span class="dv">0</span></span>
<span id="cb69-18"><a href="data-objekt-och-funktioner.html#cb69-18" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> z1[z_trinary <span class="sc">==</span> <span class="dv">3</span>] <span class="ot"><-</span> <span class="dv">0</span></span>
<span id="cb69-19"><a href="data-objekt-och-funktioner.html#cb69-19" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> </span>
<span id="cb69-20"><a href="data-objekt-och-funktioner.html#cb69-20" aria-hidden="true" tabindex="-1"></a><span class="er">></span> z2 <span class="ot"><-</span> <span class="fu">c</span>(<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>)</span>
<span id="cb69-21"><a href="data-objekt-och-funktioner.html#cb69-21" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> z2[z_trinary <span class="sc">==</span> <span class="dv">1</span>] <span class="ot"><-</span> <span class="dv">0</span></span>
<span id="cb69-22"><a href="data-objekt-och-funktioner.html#cb69-22" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> z2[z_trinary <span class="sc">==</span> <span class="dv">2</span>] <span class="ot"><-</span> <span class="dv">1</span></span>
<span id="cb69-23"><a href="data-objekt-och-funktioner.html#cb69-23" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> z2[z_trinary <span class="sc">==</span> <span class="dv">3</span>] <span class="ot"><-</span> <span class="dv">0</span></span>
<span id="cb69-24"><a href="data-objekt-och-funktioner.html#cb69-24" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> </span>
<span id="cb69-25"><a href="data-objekt-och-funktioner.html#cb69-25" aria-hidden="true" tabindex="-1"></a><span class="er">></span> z3 <span class="ot"><-</span> <span class="fu">c</span>(<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>)</span>
<span id="cb69-26"><a href="data-objekt-och-funktioner.html#cb69-26" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> z3[z_trinary <span class="sc">==</span> <span class="dv">1</span>] <span class="ot"><-</span> <span class="dv">0</span></span>
<span id="cb69-27"><a href="data-objekt-och-funktioner.html#cb69-27" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> z3[z_trinary <span class="sc">==</span> <span class="dv">2</span>] <span class="ot"><-</span> <span class="dv">0</span></span>
<span id="cb69-28"><a href="data-objekt-och-funktioner.html#cb69-28" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> z3[z_trinary <span class="sc">==</span> <span class="dv">3</span>] <span class="ot"><-</span> <span class="dv">1</span></span>
<span id="cb69-29"><a href="data-objekt-och-funktioner.html#cb69-29" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> z1</span>
<span id="cb69-30"><a href="data-objekt-och-funktioner.html#cb69-30" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">0</span> <span class="dv">1</span> <span class="dv">1</span> <span class="dv">0</span> <span class="dv">1</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">0</span></span>
<span id="cb69-31"><a href="data-objekt-och-funktioner.html#cb69-31" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> z2</span>
<span id="cb69-32"><a href="data-objekt-och-funktioner.html#cb69-32" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">1</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">1</span> <span class="dv">0</span> <span class="dv">1</span> <span class="dv">1</span> <span class="dv">1</span> <span class="dv">0</span> <span class="dv">0</span></span>
<span id="cb69-33"><a href="data-objekt-och-funktioner.html#cb69-33" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> z3</span>
<span id="cb69-34"><a href="data-objekt-och-funktioner.html#cb69-34" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">0</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">1</span> <span class="dv">1</span></span></code></pre></div>
<p>Ett par viktiga punkter att komma ihåg är</p>
<ul>
<li>Arbetsgången är att en ny vektor skapas, vilken sedan fylls på. För en binär variabel skulle vi teoretiskt kunna använda operatorn <em>!=</em>, men detta kan dels leda till att NA i en vektor kodas till 0, dels att datatvätten blir mindre noggrann. Ovanstående metodik för att skapa ny variabler är transparent.</li>
<li>Använd parenteser för att undvika eventuella fel, som till exempel var fallet med <em>(z > 1) & (z <= 5)</em>.</li>
</ul>
<p>Avslutningsvis ska vi använda den logiska operatorn <em>|</em>.</p>
<ol start="4" style="list-style-type: decimal">
<li>Skriv in nedanstående i scriptet, spara och kör koden.</li>
</ol>
<div class="sourceCode" id="cb70"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb70-1"><a href="data-objekt-och-funktioner.html#cb70-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Om z1 = 1 eller z3 = 1, så ska w_bin = 1.</span></span>
<span id="cb70-2"><a href="data-objekt-och-funktioner.html#cb70-2" aria-hidden="true" tabindex="-1"></a><span class="co"># Om z2 = 1 så ska d_bin = 0.</span></span>
<span id="cb70-3"><a href="data-objekt-och-funktioner.html#cb70-3" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb70-4"><a href="data-objekt-och-funktioner.html#cb70-4" aria-hidden="true" tabindex="-1"></a><span class="co"># Skapa en tom vektor w_bin</span></span>
<span id="cb70-5"><a href="data-objekt-och-funktioner.html#cb70-5" aria-hidden="true" tabindex="-1"></a>d_bin <span class="ot"><-</span> <span class="fu">c</span>(<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>)</span>
<span id="cb70-6"><a href="data-objekt-och-funktioner.html#cb70-6" aria-hidden="true" tabindex="-1"></a>d_bin[(z1 <span class="sc">==</span> <span class="dv">1</span>) <span class="sc">|</span> (z3 <span class="sc">==</span> <span class="dv">1</span>)] <span class="ot"><-</span> <span class="dv">1</span></span>
<span id="cb70-7"><a href="data-objekt-och-funktioner.html#cb70-7" aria-hidden="true" tabindex="-1"></a>d_bin[z2 <span class="sc">==</span> <span class="dv">1</span>] <span class="ot"><-</span> <span class="dv">0</span></span>
<span id="cb70-8"><a href="data-objekt-och-funktioner.html#cb70-8" aria-hidden="true" tabindex="-1"></a>z1</span>
<span id="cb70-9"><a href="data-objekt-och-funktioner.html#cb70-9" aria-hidden="true" tabindex="-1"></a>z2</span>
<span id="cb70-10"><a href="data-objekt-och-funktioner.html#cb70-10" aria-hidden="true" tabindex="-1"></a>z3</span>
<span id="cb70-11"><a href="data-objekt-och-funktioner.html#cb70-11" aria-hidden="true" tabindex="-1"></a>d_bin</span>
<span id="cb70-12"><a href="data-objekt-och-funktioner.html#cb70-12" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb70-13"><a href="data-objekt-och-funktioner.html#cb70-13" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb70-14"><a href="data-objekt-och-funktioner.html#cb70-14" aria-hidden="true" tabindex="-1"></a><span class="co"># Om landet är Norge eller Island och x > 4 eller w > -50 så ska vi sätta NA</span></span>
<span id="cb70-15"><a href="data-objekt-och-funktioner.html#cb70-15" aria-hidden="true" tabindex="-1"></a>y_new <span class="ot"><-</span> y</span>
<span id="cb70-16"><a href="data-objekt-och-funktioner.html#cb70-16" aria-hidden="true" tabindex="-1"></a>y_new[( (nordic_countries <span class="sc">==</span> <span class="st">"Iceland"</span>) <span class="sc">|</span> (nordic_countries <span class="sc">==</span> <span class="st">"Norway"</span>) ) <span class="sc">&</span> </span>
<span id="cb70-17"><a href="data-objekt-och-funktioner.html#cb70-17" aria-hidden="true" tabindex="-1"></a> ( (x <span class="sc">></span> <span class="dv">4</span>) <span class="sc">|</span> (w <span class="sc">></span> <span class="sc">-</span><span class="dv">50</span>) ) ] <span class="ot"><-</span> <span class="cn">NA</span></span>
<span id="cb70-18"><a href="data-objekt-och-funktioner.html#cb70-18" aria-hidden="true" tabindex="-1"></a>nordic_countries</span>
<span id="cb70-19"><a href="data-objekt-och-funktioner.html#cb70-19" aria-hidden="true" tabindex="-1"></a>x</span>
<span id="cb70-20"><a href="data-objekt-och-funktioner.html#cb70-20" aria-hidden="true" tabindex="-1"></a>y_new</span></code></pre></div>
<p>I Console ser vi utskrifterna. Om du inte har förstått koden, så kan du jämföra vektorerna och se varför <em>d_bin</em> och <em>y_new</em> har fått de värden som de har.</p>
<div class="sourceCode" id="cb71"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb71-1"><a href="data-objekt-och-funktioner.html#cb71-1" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Om z1 = 1 eller z3 = 1, så ska w_bin = 1.</span></span>
<span id="cb71-2"><a href="data-objekt-och-funktioner.html#cb71-2" aria-hidden="true" tabindex="-1"></a><span class="er">></span> <span class="co"># Om z2 = 1 så ska d_bin = 0.</span></span>
<span id="cb71-3"><a href="data-objekt-och-funktioner.html#cb71-3" aria-hidden="true" tabindex="-1"></a><span class="er">></span> </span>
<span id="cb71-4"><a href="data-objekt-och-funktioner.html#cb71-4" aria-hidden="true" tabindex="-1"></a><span class="er">></span> <span class="co"># Skapa en tom vektor w_bin</span></span>
<span id="cb71-5"><a href="data-objekt-och-funktioner.html#cb71-5" aria-hidden="true" tabindex="-1"></a><span class="er">></span> d_bin <span class="ot"><-</span> <span class="fu">c</span>(<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>,<span class="cn">NA</span>)</span>
<span id="cb71-6"><a href="data-objekt-och-funktioner.html#cb71-6" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> d_bin[(z1 <span class="sc">==</span> <span class="dv">1</span>) <span class="sc">|</span> (z3 <span class="sc">==</span> <span class="dv">1</span>)] <span class="ot"><-</span> <span class="dv">1</span></span>
<span id="cb71-7"><a href="data-objekt-och-funktioner.html#cb71-7" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> d_bin[z2 <span class="sc">==</span> <span class="dv">1</span>] <span class="ot"><-</span> <span class="dv">0</span></span>
<span id="cb71-8"><a href="data-objekt-och-funktioner.html#cb71-8" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> z1</span>
<span id="cb71-9"><a href="data-objekt-och-funktioner.html#cb71-9" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">0</span> <span class="dv">1</span> <span class="dv">1</span> <span class="dv">0</span> <span class="dv">1</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">0</span></span>
<span id="cb71-10"><a href="data-objekt-och-funktioner.html#cb71-10" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> z2</span>
<span id="cb71-11"><a href="data-objekt-och-funktioner.html#cb71-11" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">1</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">1</span> <span class="dv">0</span> <span class="dv">1</span> <span class="dv">1</span> <span class="dv">1</span> <span class="dv">0</span> <span class="dv">0</span></span>
<span id="cb71-12"><a href="data-objekt-och-funktioner.html#cb71-12" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> z3</span>
<span id="cb71-13"><a href="data-objekt-och-funktioner.html#cb71-13" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">0</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">1</span> <span class="dv">1</span></span>
<span id="cb71-14"><a href="data-objekt-och-funktioner.html#cb71-14" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> d_bin</span>
<span id="cb71-15"><a href="data-objekt-och-funktioner.html#cb71-15" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">0</span> <span class="dv">1</span> <span class="dv">1</span> <span class="dv">0</span> <span class="dv">1</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">0</span> <span class="dv">1</span> <span class="dv">1</span></span>
<span id="cb71-16"><a href="data-objekt-och-funktioner.html#cb71-16" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> </span>
<span id="cb71-17"><a href="data-objekt-och-funktioner.html#cb71-17" aria-hidden="true" tabindex="-1"></a><span class="er">></span> </span>
<span id="cb71-18"><a href="data-objekt-och-funktioner.html#cb71-18" aria-hidden="true" tabindex="-1"></a><span class="er">></span> <span class="co"># Om landet är Norge eller Island och x > 4 eller w > -50 så ska vi sätta NA</span></span>
<span id="cb71-19"><a href="data-objekt-och-funktioner.html#cb71-19" aria-hidden="true" tabindex="-1"></a><span class="er">></span> y_new <span class="ot"><-</span> y</span>
<span id="cb71-20"><a href="data-objekt-och-funktioner.html#cb71-20" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> y_new[( (nordic_countries <span class="sc">==</span> <span class="st">"Iceland"</span>) <span class="sc">|</span> (nordic_countries <span class="sc">==</span> <span class="st">"Norway"</span>) ) <span class="sc">&</span> </span>
<span id="cb71-21"><a href="data-objekt-och-funktioner.html#cb71-21" aria-hidden="true" tabindex="-1"></a><span class="sc">+</span> ( (x <span class="sc">></span> <span class="dv">4</span>) <span class="sc">|</span> (w <span class="sc">></span> <span class="sc">-</span><span class="dv">50</span>) ) ] <span class="ot"><-</span> <span class="cn">NA</span></span>
<span id="cb71-22"><a href="data-objekt-och-funktioner.html#cb71-22" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> nordic_countries</span>
<span id="cb71-23"><a href="data-objekt-och-funktioner.html#cb71-23" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="st">"Denmark"</span> <span class="st">"Finland"</span> <span class="st">"Iceland"</span> <span class="st">"Norway"</span> <span class="st">"Sweden"</span></span>
<span id="cb71-24"><a href="data-objekt-och-funktioner.html#cb71-24" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> x</span>
<span id="cb71-25"><a href="data-objekt-och-funktioner.html#cb71-25" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">3</span> <span class="dv">1</span> <span class="dv">1</span> <span class="dv">5</span> <span class="dv">0</span></span>
<span id="cb71-26"><a href="data-objekt-och-funktioner.html#cb71-26" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> y_new</span>
<span id="cb71-27"><a href="data-objekt-och-funktioner.html#cb71-27" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>] <span class="dv">2</span> <span class="dv">3</span> <span class="cn">NA</span> <span class="cn">NA</span> <span class="dv">9</span></span></code></pre></div>
<p>Ovanstående sätt att förändra och skapa vektorer används <strong>mycket ofta</strong> i R och kan hantera mycket av den praktiska datahantering som du kommer att stöta på under denna kurs, men också ute i arbetslivet. Som tidigare nämnts finns andra sätt att åstadkomma samma resultat, som kanske till och med i specifika avseenden är bättre, men utgå på denna kurs från kod som presenteras här.</p>
<p>Det bör nämnas att det naturligtvis finns mycket mer att lära sig om hur logiska operatorer fungerar. Till exempel skapar nedanstående kod den sista datatypen som nämndes inledningsvis, dvs logical data.</p>
<ol start="5" style="list-style-type: decimal">
<li>Skriv in nedanstående i scriptet, spara och kör koden.</li>
</ol>
<div class="sourceCode" id="cb72"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb72-1"><a href="data-objekt-och-funktioner.html#cb72-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Ger en logisk vektor</span></span>
<span id="cb72-2"><a href="data-objekt-och-funktioner.html#cb72-2" aria-hidden="true" tabindex="-1"></a>(x <span class="sc">></span> <span class="dv">4</span>) </span></code></pre></div>
<pre><code>## [1] FALSE FALSE FALSE TRUE FALSE</code></pre>
<div class="sourceCode" id="cb74"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb74-1"><a href="data-objekt-och-funktioner.html#cb74-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Multiplikation med en logisk vektor</span></span>
<span id="cb74-2"><a href="data-objekt-och-funktioner.html#cb74-2" aria-hidden="true" tabindex="-1"></a><span class="dv">1</span><span class="sc">*</span>(x <span class="sc">></span> <span class="dv">4</span>) </span></code></pre></div>
<pre><code>## [1] 0 0 0 1 0</code></pre>
<div class="sourceCode" id="cb76"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb76-1"><a href="data-objekt-och-funktioner.html#cb76-1" aria-hidden="true" tabindex="-1"></a><span class="dv">4</span><span class="sc">*</span>(x <span class="sc">></span> <span class="dv">4</span>) </span></code></pre></div>
<pre><code>## [1] 0 0 0 4 0</code></pre>
<p>Spara scriptet <strong>kap3_objekt_och_funktioner.R</strong>.</p>
</div>
</div>
<div id="matriser" class="section level2 hasAnchor" number="3.3">
<h2><span class="header-section-number">3.3</span> Matriser<a href="data-objekt-och-funktioner.html#matriser" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<p>En matris är ett tvådimensionellt dataobjekt bestående av <strong>rader</strong> och <strong>kolumner</strong>, till skillnad från en vektor som bara består av en rad. Notera ordningen, dvs en matris storlek anges <strong>först</strong> med rader, <strong>sedan</strong> med kolumner. Analogt med <strong>c()</strong>, som kombinerar element till en vektor, används <code>cbind()</code> och <code>rbind()</code> för att binda ihop vektorer radvis eller kolumnvis till matriser. En matris måste innehålla element av samma datatyp, vilket innebär att det <strong>inte</strong> går att binda samman numeriska vektorer med vektorer som innehåller bokstäver. En matris kan även skapas direkt med kommandot <strong>matrix()</strong> som transformerar en vektor med <span class="math inline">\(k\)</span> antal element till en matris bestående motsvarande antal element fördelat på antal rader och kolumner. I regel är det enklast att använda <code>cbind()</code> eller <code>rbind()</code>, och det är dessa två som rekommenderas under denna kurs.</p>
<p>För två vektorer <span class="math inline">\(x\)</span> och <span class="math inline">\(y\)</span> kommer <code>rbind(x, y)</code> skapa en matris där varje vektor utgör en egen rad, och <code>cbind(x, y)</code> skapa en matris där varje vektor utgör en rad. Såväl matriser som <code>rbind()</code> och <code>cbind()</code> förstås bäst med hjälp av exempel. Se koden nedan får ett par sådana.</p>
<ol style="list-style-type: decimal">
<li>Fortsätt scriptet <strong>kap3_objekt_och_funktioner.R</strong> och skriv in nedanstående kod. Spara scriptet och kör.</li>
</ol>
<div class="sourceCode" id="cb78"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb78-1"><a href="data-objekt-och-funktioner.html#cb78-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Skapa en matris genom att binda samman x och y radvis. Matrisen får 2 rader och 5 kolumner</span></span>
<span id="cb78-2"><a href="data-objekt-och-funktioner.html#cb78-2" aria-hidden="true" tabindex="-1"></a>m1 <span class="ot"><-</span> <span class="fu">rbind</span>(x, y)</span>
<span id="cb78-3"><a href="data-objekt-och-funktioner.html#cb78-3" aria-hidden="true" tabindex="-1"></a>m1</span>
<span id="cb78-4"><a href="data-objekt-och-funktioner.html#cb78-4" aria-hidden="true" tabindex="-1"></a><span class="co"># Skapa en matris genom att binda samman x, y, n och x radvis. Matrisen får 5 rader och 4 kolumner. </span></span>
<span id="cb78-5"><a href="data-objekt-och-funktioner.html#cb78-5" aria-hidden="true" tabindex="-1"></a>m2 <span class="ot"><-</span> <span class="fu">cbind</span>(x, y, n, x)</span>
<span id="cb78-6"><a href="data-objekt-och-funktioner.html#cb78-6" aria-hidden="true" tabindex="-1"></a>m2</span>
<span id="cb78-7"><a href="data-objekt-och-funktioner.html#cb78-7" aria-hidden="true" tabindex="-1"></a><span class="co"># Skapa en matris genom att binda samman x och ymis radvis. Matrisen får 5 rader och 2 kolumner. </span></span>
<span id="cb78-8"><a href="data-objekt-och-funktioner.html#cb78-8" aria-hidden="true" tabindex="-1"></a>m3 <span class="ot"><-</span> <span class="fu">rbind</span>(x, ymis)</span>
<span id="cb78-9"><a href="data-objekt-och-funktioner.html#cb78-9" aria-hidden="true" tabindex="-1"></a>m3</span>
<span id="cb78-10"><a href="data-objekt-och-funktioner.html#cb78-10" aria-hidden="true" tabindex="-1"></a><span class="co"># Skapa med matrix() en matris med två rader och 5 kolumner. </span></span>
<span id="cb78-11"><a href="data-objekt-och-funktioner.html#cb78-11" aria-hidden="true" tabindex="-1"></a><span class="co"># Matrisen fylls på kolumnvis och notera att detta inte blir samma som m1. </span></span>
<span id="cb78-12"><a href="data-objekt-och-funktioner.html#cb78-12" aria-hidden="true" tabindex="-1"></a>m4 <span class="ot"><-</span> <span class="fu">matrix</span>(z, <span class="dv">2</span>, <span class="dv">5</span>)</span>
<span id="cb78-13"><a href="data-objekt-och-funktioner.html#cb78-13" aria-hidden="true" tabindex="-1"></a>m4</span>
<span id="cb78-14"><a href="data-objekt-och-funktioner.html#cb78-14" aria-hidden="true" tabindex="-1"></a><span class="co"># Skapa med matrix() en matris med fem rader och 2 kolumner.</span></span>
<span id="cb78-15"><a href="data-objekt-och-funktioner.html#cb78-15" aria-hidden="true" tabindex="-1"></a><span class="co"># I detta fall är de två första kolumnerna i m2 samma som m5.</span></span>
<span id="cb78-16"><a href="data-objekt-och-funktioner.html#cb78-16" aria-hidden="true" tabindex="-1"></a>m5 <span class="ot"><-</span> <span class="fu">matrix</span>(z, <span class="dv">5</span>, <span class="dv">2</span>)</span>
<span id="cb78-17"><a href="data-objekt-och-funktioner.html#cb78-17" aria-hidden="true" tabindex="-1"></a>m5</span></code></pre></div>
<p>I Console visas</p>
<div class="sourceCode" id="cb79"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb79-1"><a href="data-objekt-och-funktioner.html#cb79-1" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Skapa en matris genom att binda samman x och y radvis. Matrisen får 2 rader och 5 kolumner</span></span>
<span id="cb79-2"><a href="data-objekt-och-funktioner.html#cb79-2" aria-hidden="true" tabindex="-1"></a><span class="er">></span> m1 <span class="ot"><-</span> <span class="fu">rbind</span>(x, y)</span>
<span id="cb79-3"><a href="data-objekt-och-funktioner.html#cb79-3" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> m1</span>
<span id="cb79-4"><a href="data-objekt-och-funktioner.html#cb79-4" aria-hidden="true" tabindex="-1"></a><span class="sc">></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="cb79-5"><a href="data-objekt-och-funktioner.html#cb79-5" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> x <span class="dv">3</span> <span class="dv">1</span> <span class="dv">1</span> <span class="dv">5</span> <span class="dv">0</span></span>
<span id="cb79-6"><a href="data-objekt-och-funktioner.html#cb79-6" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> y <span class="dv">2</span> <span class="dv">3</span> <span class="dv">5</span> <span class="dv">6</span> <span class="dv">9</span></span>
<span id="cb79-7"><a href="data-objekt-och-funktioner.html#cb79-7" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Skapa en matris genom att binda samman x, y, n och x radvis. Matrisen får 5 rader och 4 kolumner. </span></span>
<span id="cb79-8"><a href="data-objekt-och-funktioner.html#cb79-8" aria-hidden="true" tabindex="-1"></a><span class="er">></span> m2 <span class="ot"><-</span> <span class="fu">cbind</span>(x, y, u, x)</span>
<span id="cb79-9"><a href="data-objekt-och-funktioner.html#cb79-9" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> m2</span>
<span id="cb79-10"><a href="data-objekt-och-funktioner.html#cb79-10" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> x y u x</span>
<span id="cb79-11"><a href="data-objekt-och-funktioner.html#cb79-11" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>,] <span class="dv">3</span> <span class="dv">2</span> <span class="dv">150</span> <span class="dv">3</span></span>
<span id="cb79-12"><a href="data-objekt-och-funktioner.html#cb79-12" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">2</span>,] <span class="dv">1</span> <span class="dv">3</span> <span class="dv">150</span> <span class="dv">1</span></span>
<span id="cb79-13"><a href="data-objekt-och-funktioner.html#cb79-13" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">3</span>,] <span class="dv">1</span> <span class="dv">5</span> <span class="dv">150</span> <span class="dv">1</span></span>
<span id="cb79-14"><a href="data-objekt-och-funktioner.html#cb79-14" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">4</span>,] <span class="dv">5</span> <span class="dv">6</span> <span class="dv">150</span> <span class="dv">5</span></span>
<span id="cb79-15"><a href="data-objekt-och-funktioner.html#cb79-15" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">5</span>,] <span class="dv">0</span> <span class="dv">9</span> <span class="dv">150</span> <span class="dv">0</span></span>
<span id="cb79-16"><a href="data-objekt-och-funktioner.html#cb79-16" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Skapa en matris genom att binda samman x och ymis radvis. Matrisen får 5 rader och 2 kolumner. </span></span>
<span id="cb79-17"><a href="data-objekt-och-funktioner.html#cb79-17" aria-hidden="true" tabindex="-1"></a><span class="er">></span> m3 <span class="ot"><-</span> <span class="fu">rbind</span>(x, ymis)</span>
<span id="cb79-18"><a href="data-objekt-och-funktioner.html#cb79-18" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> m3</span>
<span id="cb79-19"><a href="data-objekt-och-funktioner.html#cb79-19" aria-hidden="true" tabindex="-1"></a><span class="sc">></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="cb79-20"><a href="data-objekt-och-funktioner.html#cb79-20" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> x <span class="dv">3</span> <span class="dv">1</span> <span class="dv">1</span> <span class="dv">5</span> <span class="dv">0</span></span>
<span id="cb79-21"><a href="data-objekt-och-funktioner.html#cb79-21" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> ymis <span class="dv">3</span> <span class="cn">NA</span> <span class="dv">6</span> <span class="dv">3</span> <span class="dv">6</span></span>
<span id="cb79-22"><a href="data-objekt-och-funktioner.html#cb79-22" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Skapa med matrix() en matris med två rader och 5 kolumner. </span></span>
<span id="cb79-23"><a href="data-objekt-och-funktioner.html#cb79-23" aria-hidden="true" tabindex="-1"></a><span class="er">></span> <span class="co"># Matrisen fylls på kolumnvis och notera att detta inte blir samma som m1. </span></span>
<span id="cb79-24"><a href="data-objekt-och-funktioner.html#cb79-24" aria-hidden="true" tabindex="-1"></a><span class="er">></span> m4 <span class="ot"><-</span> <span class="fu">matrix</span>(z, <span class="dv">2</span>, <span class="dv">5</span>)</span>
<span id="cb79-25"><a href="data-objekt-och-funktioner.html#cb79-25" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> m4</span>
<span id="cb79-26"><a href="data-objekt-och-funktioner.html#cb79-26" aria-hidden="true" tabindex="-1"></a><span class="sc">></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="cb79-27"><a href="data-objekt-och-funktioner.html#cb79-27" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>,] <span class="dv">3</span> <span class="dv">1</span> <span class="dv">0</span> <span class="dv">3</span> <span class="dv">6</span></span>
<span id="cb79-28"><a href="data-objekt-och-funktioner.html#cb79-28" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">2</span>,] <span class="dv">1</span> <span class="dv">5</span> <span class="dv">2</span> <span class="dv">5</span> <span class="dv">9</span></span>
<span id="cb79-29"><a href="data-objekt-och-funktioner.html#cb79-29" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> <span class="co"># Skapa med matrix() en matris med fem rader och 2 kolumner.</span></span>
<span id="cb79-30"><a href="data-objekt-och-funktioner.html#cb79-30" aria-hidden="true" tabindex="-1"></a><span class="er">></span> <span class="co"># I detta fall är de två första kolumnerna i m2 samma som m5.</span></span>
<span id="cb79-31"><a href="data-objekt-och-funktioner.html#cb79-31" aria-hidden="true" tabindex="-1"></a><span class="er">></span> m5 <span class="ot"><-</span> <span class="fu">matrix</span>(z, <span class="dv">5</span>, <span class="dv">2</span>)</span>
<span id="cb79-32"><a href="data-objekt-och-funktioner.html#cb79-32" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> m5</span>
<span id="cb79-33"><a href="data-objekt-och-funktioner.html#cb79-33" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [,<span class="dv">1</span>] [,<span class="dv">2</span>]</span>
<span id="cb79-34"><a href="data-objekt-och-funktioner.html#cb79-34" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">1</span>,] <span class="dv">3</span> <span class="dv">2</span></span>
<span id="cb79-35"><a href="data-objekt-och-funktioner.html#cb79-35" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">2</span>,] <span class="dv">1</span> <span class="dv">3</span></span>
<span id="cb79-36"><a href="data-objekt-och-funktioner.html#cb79-36" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">3</span>,] <span class="dv">1</span> <span class="dv">5</span></span>
<span id="cb79-37"><a href="data-objekt-och-funktioner.html#cb79-37" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">4</span>,] <span class="dv">5</span> <span class="dv">6</span></span>
<span id="cb79-38"><a href="data-objekt-och-funktioner.html#cb79-38" aria-hidden="true" tabindex="-1"></a><span class="sc">></span> [<span class="dv">5</span>,] <span class="dv">0</span> <span class="dv">9</span></span></code></pre></div>
<style>
div.green{ background-color:#abd4b3; border-radius: 5px; padding: 20px;}
</style>
<div class="green">
<p><font size="5"> </font></p>
<p><img src="docs/images/tip.png" width="5%" style="display: block; margin: auto;" /></p>
<p>Använd på denna kurs <strong>rbind()</strong> och <strong>cbind()</strong> vid skapande av matriser. Det är då mindre risk för
för missförstånd var elementen hamnar i matrisen.</p>
</div>
<p>Ibland är det, precis som var fallet med vektorer, önskvärt att välja ut ett eller flera enskilda element i en matris. Precis som tidigare används hakparenteser, men eftersom matriser har såväl rader som kolumner indexeras de på ett liter annorlunda sätt. Ta matrisen <code>m2</code> från ovan som exempel. Matrisen har fem rader och fyra kolumner, och som synes kan varje element identifieras med hjälp av ett radnummer och ett kolumnnumer. Elementet längst upp till vänster, till exempel, finns på <strong>rad 1</strong> i <strong>kolumn 1</strong>. Generellt gäller att en matris indexeras som <code>matris[rad, kolumn]</code>. och precis som för vektorer går det att plocka ut flera element på en gång. Se koden nedan för exempel.</p>
<p>För åtkomst till element krävs nu, eftersom matriser består av rader och kolumner, att bägge dimensionerna anges. Först anges
radnummer, sedan kolumnnummer.</p>
<ol start="2" style="list-style-type: decimal">
<li>Skriv in nedanstående kod i scriptet, spara och kör.</li>
</ol>
<div class="sourceCode" id="cb80"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb80-1"><a href="data-objekt-och-funktioner.html#cb80-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Visa element på rad 2 och kolumn 3</span></span>
<span id="cb80-2"><a href="data-objekt-och-funktioner.html#cb80-2" aria-hidden="true" tabindex="-1"></a>m1[<span class="dv">2</span>,<span class="dv">3</span>]</span>
<span id="cb80-3"><a href="data-objekt-och-funktioner.html#cb80-3" aria-hidden="true" tabindex="-1"></a><span class="co"># Visa element på rad 2 och alla kolumner</span></span>