# 1 Chapter 1

• p. 4, line 14 from bottom: happening they way → happening the way
• p. 5, lines 3-4 of par. 2: could impossibly have contributed something useful → could not possibly have contributed something useful (thanks to Michael Fiddler for pointing this out)
• p. 10, example (1a) should be labeled vop (as it is spelled out in the parentheses; thanks to Michael Fiddler for pointing this out_
• p. 36, line 6 from bottom of first paragraph: because the one assumes → because then one assumes
• p. 44, section heading of 1.6: Data collection and storage → The design of a factorial experiment (thanks to Maria Fionda for pointing this out)

# 2 Chapter 2

• p. 54: the first code block should be this (thanks to Michael Fiddler for pointing this out):
> 2 -
+
• p. 54: the third code block should be this (thanks to Michael Fiddler for pointing this out):
> library(effects +
+
• p. 64, the last block of code should be this (thanks to Michael Fiddler for pointing this out):
(x <- scan(file="_inputfiles/02_vector2.txt", what=character(),
sep="\n"))
[1] "This is the first line"  "This is the second line"
• p. 67: line 3 from bottom: Thus, which translates → Thus, which translates (thanks to Michael Fiddler for pointing this out):
• p. 71: mid of par. 2: Crucially, the values that table returns → Crucially, the values that table returns (thanks to Michael Fiddler for pointing this out)
• p. 73: mid of par. 2: then, like sort it can take a logical vector called decreasing as an additional argument → then, like sort, it can take a logical vector called decreasing as an additional argument (thanks to Michael Fiddler for pointing this out)
• p. 78, caption of Table 20: Concrete token set for CONSTRUCTION:OBJTYPE 3 → A simple example data frame
• p. 80, lines 6-7 before 2.5.2: human-readable strings closed and open and → human-readable strings closed and open and (thanks to Michael Fiddler for pointing this out) p. 85, last line: We will return to split in → We will return to split in (thanks to Michael Fiddler for pointing this out)

# 3 Chapter 3

On p. 119:

• what is the smallest number of heads you can get in 500 tosses that is not significantly different from the 300-out-of-500 result? It’s 277, i.e. 0.554 or 55.4% (the result of sum(dbinom(x=0:277, size=number.tosses, prob=perc.heads)) is <0.025, the result of sum(dbinom(x=0:278, size=number.tosses, prob=perc.heads)) is >0.025);
• what is the largest number of heads you can get in 500 tosses that is not significantly different from the 300-out-of-500 result? It’s 322, i.e. 0.644 or 64.4% (the result of sum(dbinom(x=322:number.tosses, size=number.tosses, prob=perc.heads)) is <0.025, the result of sum(x=dbinom(0:321, size=number.tosses, prob=perc.heads)) is >0.025);

Thus, computing the 95%-CI for this example in this way returns [277, 322] or, in %, [0.554, 0.644], and you can see how similar they are to the result of binom.test, which was [0.556, 0.643]. Thus, the 95%-CI includes the values that do not differ significantly from the result you found and the interpretation of this approach would be to say “the 95%-CI boundaries are the numbers of heads that wouldn’t be significantly different from the 0.6 result you got, i.e. between 277 and 322”.

• what is the smallest number of heads you can get in 500 tosses that is not significantly different from the 300-out-of-500 result? It’s 278, i.e. 0.556 or 55.6% (the result of sum(dbinom(x=0:278, size=number.tosses, prob=perc.heads)) is >0.025, the result of sum(dbinom(x=0:277, size=number.tosses, prob=perc.heads)) is >0.025);
• what is the largest number of heads you can get in 500 tosses that is not significantly different from the 300-out-of-500 result? It’s 321, i.e. 0.642 or 64.2% (the result of sum(dbinom(x=321:number.tosses, size=number.tosses, prob=perc.heads)) is >0.025, the result of sum(x=dbinom(322:number.tosses, size=number.tosses, prob=perc.heads)) is >0.025).

Thus, computing the 95%-CI for this example in this way returns [278, 321] or, in %, [0.556, 0.642], and you can see how similar they are to the result of binom.test, which was [0.556, 0.643]. Thus, the 95%-CI includes the values that do not differ significantly from the result you found and the interpretation of this approach would be to say “these 95%-CI boundaries are the numbers of heads that wouldn’t be significantly different from the 0.6 result you got”.

Other, smaller things:

• p. 112, lines 1-2 of code box should be this (thanks to Michael Fiddler for pointing this out):
set.seed(sum(utf8ToInt("Räucherforelle"))) # set a replicable random number seed
two.normals.side.by.side <- c(rnorm(200, 0, 2), rnorm(200, 8, 2)) # generate random data
• p. 136, last line of the third last paragraph: around 640 somewhere: → around 640 somewhere.

# 4 Chapter 4

• p. 176, line 1 of last paragraph: Kolmogorov-Smirnomv test → Kolmogorov-Smirnov test (thanks for William Comer for pointing this out)
• p. 177, line two above Figure 56: the plot above → the plot below (thanks for Michael Fiddler for pointing this out)
• p. 187:, delete paragraph below Figure 60
• p. 217, line 2: collect it somewhere; → collect it somewhere; (thanks for Michael Fiddler for pointing this out)
• p. 222, delete the last (parenthesized) sentence of 4.3.2.3
• p. 229, 2 lines below Figure 76: of the two variable RT → of the two variables RT (thanks for Michael Fiddler for pointing this out)
• p. 231, bullet point 2: so 00 mean → so 00 means (thanks for Michael Fiddler for pointing this out)
• p. 251, line 2: confidence intervals as well → confidence intervals as well) (thanks for Michael Fiddler for pointing this out)
• p. 251, line 1 of last par.: we formulated or hypothesis → we formulated our hypothesis (thanks for Michael Fiddler for pointing this out)
• p. 291, line 2 from bottom: what ever you’d → whatever you’d (thanks for Michael Fiddler for pointing this out)
• p. 297, line 3 after bullet points: that ant has → that ant has (thanks for Michael Fiddler for pointing this out)
• p. 303, line 2 above recommendation: the both the → both the (thanks for Michael Fiddler for pointing this out)

# 5 Chapter 5

• p. 237, line 8 from bottom: contribution: (p=0.3314). → contribution (p=0.3314).
• p. 251: line 2 above last code block: 2.12] and [2.12, → -4.585] and [+4.585,
• p. 256, the first code block should be this:
sum(coef(m.01) * mm["ant",]) # same as predict(m.01)["ant"] and same as
667.03260 * # coef(m.01)[1]   , the intercept
1 +         # mm["ant",1]     , the intercept in the model matrix
-16.82015 * # coef(m.01)[2]   , the slope for FREQ
2.807355    # mm["ant",2]     , FREQ for "ant"
• p. 350, line 3 of code block: co fintconfint (thanks for Michael Fiddler for pointing this out)
• p. 352: lines 1-2: which his why → which is why (thanks for Michael Fiddler for pointing this out)
• p. 381, lines 1-2 above Figure 127: the long run or prepositional datives → the long run of prepositional datives (thanks for Michael Fiddler for pointing this out)
• p. 381, line 1 below Figure 127: to show many → to show how many (thanks for Michael Fiddler for pointing this out)

# 6 Chapter 6

• p. 410, 5 lines above recommendations: (2019:161 formulate → (2019:161) formulate
• p. 434, bottom code block: the random number seed should be set like this: set.seed(sum(utf8ToInt("Brokkoliauflauf")))
• p. 438, 2nd code block: the random number seed should be set like this: set.seed(sum(utf8ToInt("Schokonüsse")))
• p. 445, recommendations for further study: the random number seed should be set like this: set.seed(sum(utf8ToInt("simres")))
• p. 446, bottom code block: the random number seed should be set like this: set.seed(sum(utf8ToInt("PolkHigh")))
• p. 448, top code block: the random number seed should be set like this: set.seed(sum(utf8ToInt("Gorp.Fnark.Schmegle.")))

Note: the set.seed(sum(... errors were also fixed in the now updated code files.

# 7 Chapter 7

• p. 453: from tree-base methods → from tree-based methods
• p. 460: effects plots of shown → effects plots shown
• p. 462, after code block 2: this is how can → this is how you can (thanks for Michael Fiddler for pointing this out)
• p. 466: and that the accuracy was much lower for sc-mc(0.46875) than for mc-sc (0.17818). → and that the classification/prediction error was much higher for sc-mc (0.46875) than for mc-sc (0.17818).
• p. 480: de-indent the third bullet point so that it is aligned with the previous two.