- 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)

- 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. 57, the first code box should be this:

```
log(x=5, base=2) # compute the log of 5
log(base=2, x=5) # (to the base of 2)
```

- 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)

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.

- 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 somewh
*ere*; → 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)

- 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 fint`

→`confint`

(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)

- 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.

- 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.