This refresher course is based on:

Franken, W.M. & Bouts, R.A. (2002). Wiskunde voor statistiek: Een voorbereiding. Bussum, Netherlands: Uitgeverij Coutinho

The refresher course consists of five chapters:

  1. Set Theory
  2. Mathematical Operations
  3. Equations
  4. Functions & Graphs
  5. Statistical Operations

This module illustrates all topics in the textbook, and how they can be implemented in R. On the fly, you will learn many of the basic functions of R.

1. Sets

1.1 Sets in Mathematics

A set is a well-defined collection of objects. Each object in a set is called an element of the set. Two sets are equal if they have exactly the same elements in them. A set that contains no elements is called a null set or an empty set. If every element in Set A is also in Set B, then Set A is a subset of Set B.

Example: if A is the set of first five charachters of the alphabet, then:
A = {a,b,c,d,e}

In R we can create this set as:

SetA <- c(“a”,“b”,“c”,“d”,“e”)

“a” %in% SetA “f” %in% SetA

Likewise, we can create a set of numbers, from 1 to 100

SetN <- c(1:100)

length(SetN) 88 %in% SetN; 105 %in%SetN

length(SetA)

1.2 Relations between sets

An empty set is a set without elements

SetEmpty <- NULL

Identical sets

SetA <- c(“1”,“3”,“4”,“6”) SetB <- c(“1”,“4”,“6”,“3”)

SetB %in% SetA SetA %in% SetB

setdiff(SetA, SetB) setequal(SetA, SetB)

SetA %in% SetB intersect(SetA, SetB)

SetA <- c(“a”,“a”,“b”,“c”,“d”) SetB <- c(“c”,“c”,“d”,“e”) union(SetA, SetB) SetA unique(SetA) SetA; SetA[!duplicated(SetA)] union(SetA, SetB) setdiff(SetA, SetB) setdiff(SetB, SetA) sort(c(setdiff(SetA, SetB), setdiff(SetB, SetA), intersect(SetB, SetA))) all(sort(c(setdiff(SetA, SetB), setdiff(SetB, SetA), intersect(SetB, SetA))) == union(SetA, SetB))

SetC <- c(“a”,“a”); SetD <- c(“a”,“b”) SetC %in% SetD all(SetC %in% SetD) SetD %in% SetC all(SetD %in% SetC)

Sets of Numbers

SetRN <- c(-Inf:+Inf)

SetN <- c(-10:+10) SetN[3] < SetN[4]

x <- 9 sqrt(x) xs <- sqrt(x)*sqrt(x); sqrt(x)^2

y <-2 sqy <- sqrt(y) x <-2 sqx <- sqrt(x) sqrt(y)sqrt(x) z <- sqysqx

Exercises

Given:

A = {2,4,6,8,10,12,14,16}

B = {1,2,3,4,5,6,7}

C = {3,6,9,12,15,18}

1. A ∩ B = (Intersection of A and B)

2. A ∩ C =

3. B ∩ C =

4. A ∩ B ∩ C =

5. A v B = (Union of A and B)

6. A v B v C =

Solution

Let’s first create the sets A, B and C

A <- seq(2, 16, 2) B <- c(1:7) C <- seq(3, 18, 3) A; B; C

1. A ∩ B = (Intersection of A and B)

(intersect(A, B)) # Putting the command between brackets, prints the result

2. A ∩ C =

(intersect(A, C))

3. B ∩ C =

(intersect(B, C))

4. A ∩ B ∩ C =

(intersect(A, B, C)) will give an error message, as intersect() works on two sets

intersect(intersect(A,B),C) # we do it in 2 steps; first, we determine the intersection of A and B; followed by the intersection of that result with C! Reduce(intersect, list(A,B,C))

5. A v B = (Union of A and B)

(AB <- sort(union(A,B)))

6. A v B v C =

(sort(union(AB,C))) # we determine the union of AB (which is the union of A and B from 5.) with C; and sort the vector

if you have to do it often, you can write a simple function u3 (which requires three vectors, in brackets)

u3 <- function(a,b,c){ d <- union(a,b) d <- sort(union(d,c)) return(d) }

i3 <- function(a,b,c){ d <- intersect(a,b) d <- sort(intersect(d,c)) return(d) }

u3(A,B,C) i3(A,B,C)

Challenge

AC <- intersect(A,C); AC setdiff(AC,B)

Which elements are in intersections of sets, but not in all sets?

setdiff(u3(intersect(A,B),intersect(A,C),intersect(B,C)),i3(A,B,C))

all(c(2,4)) %in% A

LS0tDQp0aXRsZTogIk1hdGhlbWF0aWNzIGZvciBTdGF0aXN0aWNzIC0gQSBSZWZyZXNoZXIiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpUaGlzIHJlZnJlc2hlciBjb3Vyc2UgaXMgYmFzZWQgb246ICANCg0KPiBGcmFua2VuLCBXLk0uICYgQm91dHMsIFIuQS4gKDIwMDIpLiAqV2lza3VuZGUgdm9vciBzdGF0aXN0aWVrOiBFZW4gdm9vcmJlcmVpZGluZyouIEJ1c3N1bSwgTmV0aGVybGFuZHM6IFVpdGdldmVyaWogQ291dGluaG8gIA0KDQpUaGUgcmVmcmVzaGVyIGNvdXJzZSBjb25zaXN0cyBvZiBmaXZlIGNoYXB0ZXJzOiAgDQoNCjEuIFNldCBUaGVvcnkgIA0KMi4gTWF0aGVtYXRpY2FsIE9wZXJhdGlvbnMgIA0KMy4gRXF1YXRpb25zICANCjQuIEZ1bmN0aW9ucyAmIEdyYXBocw0KNS4gU3RhdGlzdGljYWwgT3BlcmF0aW9ucyAgDQoNClRoaXMgbW9kdWxlIGlsbHVzdHJhdGVzIGFsbCB0b3BpY3MgaW4gdGhlIHRleHRib29rLCBhbmQgaG93IHRoZXkgY2FuIGJlIGltcGxlbWVudGVkIGluIFIuIE9uIHRoZSBmbHksIHlvdSB3aWxsIGxlYXJuIG1hbnkgb2YgdGhlIGJhc2ljIGZ1bmN0aW9ucyBvZiBSLiAgDQoNCiMgMS4gU2V0cw0KDQojIyAxLjEgU2V0cyBpbiBNYXRoZW1hdGljcw0KDQpBIHNldCBpcyBhIHdlbGwtZGVmaW5lZCBjb2xsZWN0aW9uIG9mIG9iamVjdHMuIEVhY2ggb2JqZWN0IGluIGEgc2V0IGlzIGNhbGxlZCBhbiBlbGVtZW50IG9mIHRoZSBzZXQuIFR3byBzZXRzIGFyZSBlcXVhbCBpZiB0aGV5IGhhdmUgZXhhY3RseSB0aGUgc2FtZSBlbGVtZW50cyBpbiB0aGVtLiBBIHNldCB0aGF0IGNvbnRhaW5zIG5vIGVsZW1lbnRzIGlzIGNhbGxlZCBhIG51bGwgc2V0IG9yIGFuIGVtcHR5IHNldC4gSWYgZXZlcnkgZWxlbWVudCBpbiBTZXQgQSBpcyBhbHNvIGluIFNldCBCLCB0aGVuIFNldCBBIGlzIGEgc3Vic2V0IG9mIFNldCBCLg0KDQo+IEV4YW1wbGU6IGlmIEEgaXMgdGhlIHNldCBvZiBmaXJzdCBmaXZlIGNoYXJhY2h0ZXJzIG9mIHRoZSBhbHBoYWJldCwgdGhlbjogIA0KQSA9IHthLGIsYyxkLGV9DQoNCiMgSW4gUiB3ZSBjYW4gY3JlYXRlIHRoaXMgc2V0IGFzOiANCg0KU2V0QSA8LSBjKCJhIiwiYiIsImMiLCJkIiwiZSIpDQoNCiJhIiAlaW4lIFNldEENCiJmIiAlaW4lIFNldEENCg0KIyBMaWtld2lzZSwgd2UgY2FuIGNyZWF0ZSBhIHNldCBvZiBudW1iZXJzLCBmcm9tIDEgdG8gMTAwDQoNClNldE4gPC0gYygxOjEwMCkgDQoNCmxlbmd0aChTZXROKQ0KODggJWluJSBTZXROOyAxMDUgJWluJVNldE4NCg0KbGVuZ3RoKFNldEEpDQoNCiMgMS4yIFJlbGF0aW9ucyBiZXR3ZWVuIHNldHMNCg0KIyBBbiBlbXB0eSBzZXQgaXMgYSBzZXQgd2l0aG91dCBlbGVtZW50cw0KDQpTZXRFbXB0eSA8LSBOVUxMDQoNCiMgSWRlbnRpY2FsIHNldHMNCg0KU2V0QSA8LSBjKCIxIiwiMyIsIjQiLCI2IikNClNldEIgPC0gYygiMSIsIjQiLCI2IiwiMyIpDQoNClNldEIgJWluJSBTZXRBDQpTZXRBICVpbiUgU2V0Qg0KDQpzZXRkaWZmKFNldEEsIFNldEIpDQpzZXRlcXVhbChTZXRBLCBTZXRCKQ0KDQpTZXRBICVpbiUgU2V0Qg0KaW50ZXJzZWN0KFNldEEsIFNldEIpDQoNClNldEEgPC0gYygiYSIsImEiLCJiIiwiYyIsImQiKQ0KU2V0QiA8LSBjKCJjIiwiYyIsImQiLCJlIikNCnVuaW9uKFNldEEsIFNldEIpDQpTZXRBDQp1bmlxdWUoU2V0QSkNClNldEE7IFNldEFbIWR1cGxpY2F0ZWQoU2V0QSldDQp1bmlvbihTZXRBLCBTZXRCKQ0Kc2V0ZGlmZihTZXRBLCBTZXRCKQ0Kc2V0ZGlmZihTZXRCLCBTZXRBKQ0Kc29ydChjKHNldGRpZmYoU2V0QSwgU2V0QiksIHNldGRpZmYoU2V0QiwgU2V0QSksIGludGVyc2VjdChTZXRCLCBTZXRBKSkpDQphbGwoc29ydChjKHNldGRpZmYoU2V0QSwgU2V0QiksIHNldGRpZmYoU2V0QiwgU2V0QSksIGludGVyc2VjdChTZXRCLCBTZXRBKSkpID09IHVuaW9uKFNldEEsIFNldEIpKQ0KDQpTZXRDIDwtIGMoImEiLCJhIik7IFNldEQgPC0gYygiYSIsImIiKQ0KU2V0QyAlaW4lIFNldEQNCmFsbChTZXRDICVpbiUgU2V0RCkNClNldEQgJWluJSBTZXRDDQphbGwoU2V0RCAlaW4lIFNldEMpDQoNCiMgU2V0cyBvZiBOdW1iZXJzDQoNClNldFJOIDwtIGMoLUluZjorSW5mKQ0KDQpTZXROIDwtIGMoLTEwOisxMCkNClNldE5bM10gPCBTZXROWzRdDQoNCnggPC0gOQ0Kc3FydCh4KQ0KeHMgPC0gc3FydCh4KSpzcXJ0KHgpOyBzcXJ0KHgpXjINCg0KeSA8LTINCnNxeSA8LSBzcXJ0KHkpDQp4IDwtMg0Kc3F4IDwtIHNxcnQoeCkNCnNxcnQoeSkqc3FydCh4KQ0KeiA8LSBzcXkqc3F4DQoNCiMgRXhlcmNpc2VzDQoNCiMgR2l2ZW46DQojIEEgPSB7Miw0LDYsOCwxMCwxMiwxNCwxNn0NCiMgQiA9IHsxLDIsMyw0LDUsNiw3fQ0KIyBDID0gezMsNiw5LDEyLDE1LDE4fSANCiMNCiMgMS4gQSDiiKkgQiA9IChJbnRlcnNlY3Rpb24gb2YgQSBhbmQgQikNCiMgMi4gQSDiiKkgQyA9IA0KIyAzLiBCIOKIqSBDID0gDQojIDQuIEEg4oipIEIg4oipIEMgPSANCiMgNS4gQSB2IEIgPSAoVW5pb24gb2YgQSBhbmQgQikNCiMgNi4gQSB2IEIgdiBDID0NCg0KIyBTb2x1dGlvbg0KIyBMZXQncyBmaXJzdCBjcmVhdGUgdGhlIHNldHMgQSwgQiBhbmQgQw0KDQpBIDwtIHNlcSgyLCAxNiwgMikNCkIgPC0gYygxOjcpDQpDIDwtIHNlcSgzLCAxOCwgMykNCkE7IEI7IEMNCg0KIyAxLiBBIOKIqSBCID0gKEludGVyc2VjdGlvbiBvZiBBIGFuZCBCKQ0KKGludGVyc2VjdChBLCBCKSkgIyBQdXR0aW5nIHRoZSBjb21tYW5kIGJldHdlZW4gYnJhY2tldHMsIHByaW50cyB0aGUgcmVzdWx0DQoNCiMgMi4gQSDiiKkgQyA9IA0KKGludGVyc2VjdChBLCBDKSkNCg0KIyAzLiBCIOKIqSBDID0gDQooaW50ZXJzZWN0KEIsIEMpKQ0KDQojIDQuIEEg4oipIEIg4oipIEMgPSANCiMgKGludGVyc2VjdChBLCBCLCBDKSkgd2lsbCBnaXZlIGFuIGVycm9yIG1lc3NhZ2UsIGFzIGludGVyc2VjdCgpIHdvcmtzIG9uIHR3byBzZXRzIA0KaW50ZXJzZWN0KGludGVyc2VjdChBLEIpLEMpICMgd2UgZG8gaXQgaW4gMiBzdGVwczsgZmlyc3QsIHdlIGRldGVybWluZSB0aGUgaW50ZXJzZWN0aW9uIG9mIEEgYW5kIEI7IGZvbGxvd2VkIGJ5IHRoZSBpbnRlcnNlY3Rpb24gb2YgdGhhdCByZXN1bHQgd2l0aCBDIQ0KUmVkdWNlKGludGVyc2VjdCwgbGlzdChBLEIsQykpDQoNCiMgNS4gQSB2IEIgPSAoVW5pb24gb2YgQSBhbmQgQikNCg0KKEFCICA8LSBzb3J0KHVuaW9uKEEsQikpKQ0KDQojIDYuIEEgdiBCIHYgQyA9DQoNCihzb3J0KHVuaW9uKEFCLEMpKSkgIyB3ZSBkZXRlcm1pbmUgdGhlIHVuaW9uIG9mIEFCICh3aGljaCBpcyB0aGUgdW5pb24gb2YgQSBhbmQgQiBmcm9tIDUuKSB3aXRoIEM7IGFuZCBzb3J0IHRoZSB2ZWN0b3INCg0KIyBpZiB5b3UgaGF2ZSB0byBkbyBpdCBvZnRlbiwgeW91IGNhbiB3cml0ZSBhIHNpbXBsZSBmdW5jdGlvbiB1MyAod2hpY2ggcmVxdWlyZXMgdGhyZWUgdmVjdG9ycywgaW4gYnJhY2tldHMpDQoNCnUzIDwtIGZ1bmN0aW9uKGEsYixjKXsNCiAgZCA8LSB1bmlvbihhLGIpDQogIGQgPC0gc29ydCh1bmlvbihkLGMpKQ0KICByZXR1cm4oZCkNCn0NCg0KaTMgPC0gZnVuY3Rpb24oYSxiLGMpew0KICBkIDwtIGludGVyc2VjdChhLGIpDQogIGQgPC0gc29ydChpbnRlcnNlY3QoZCxjKSkNCiAgcmV0dXJuKGQpDQp9DQoNCnUzKEEsQixDKSANCmkzKEEsQixDKQ0KDQojIENoYWxsZW5nZQ0KDQpBQyA8LSBpbnRlcnNlY3QoQSxDKTsgQUMNCnNldGRpZmYoQUMsQikNCg0KIyBXaGljaCBlbGVtZW50cyBhcmUgaW4gaW50ZXJzZWN0aW9ucyBvZiBzZXRzLCBidXQgbm90IGluIGFsbCBzZXRzPw0KDQpzZXRkaWZmKHUzKGludGVyc2VjdChBLEIpLGludGVyc2VjdChBLEMpLGludGVyc2VjdChCLEMpKSxpMyhBLEIsQykpDQoNCmFsbChjKDIsNCkpICVpbiUgQSANCg==