## Typos in Chapters 6-7

Over the weekend and during the R exams, I managed to complete the solution set for Chapters 6 and 7 of “Introducing Monte Carlo Methods with R”. Chapter 6 only exhibited a few typos, despite me covering most exercises in Chapter 6, hence the merging of both chapters.

— in Exercise 6.13, both $\alpha$ and $\beta$ must use a double exponential proposal in the Metropolis-Hastings algorithm of question b,

in Exercise 6.15, the $\mathcal{L}(0,\omega)$ distribution should be a $\mathcal{N}(0,\omega)$ normal distribution,

— in Example 7.3, part of the code is wrong: it should be

> sigma2=theta=rep(0,Nsim)                  #init arrays
> sigma2[1]=1/rgamma(1,shape=a,rate=b)      #init chains
> B=sigma2[1]/(sigma2[1]+n*tau2)
> theta[1]=rnorm(1,m=B*theta0+(1-B)*xbar,sd=sqrt(tau2*B))

> sigma=theta=rep(0,Nsim)                  #init arrays
> sigma{1}=1/rgamma(1,shape=a,rate=b)      #init chains
> B=sigma2{1}/(sigma2{1}+n*tau2)
> theta{1}=rnorm(1,m=B*theta0+(1-B)*xbar,sd=sqrt(tau2*B))

(I frankly don’t understand where those curly brackets came from!)

— in Example 7.6, I forgot to include the truncation probability $\Phi(a-\theta)^{n-m}$ in the likelihood (!) and the notations are not completely coherent with Example 5.13 and 5.14 in that the x‘s became y‘s…

— in Exercise 7.21, rtnorm is missing sigma as one of its arguments.

— Exercise 7.23 has nothing wrong per se but it is rather a formal (mathematical) exercise

— in Exercise 7.25 the $x+a$ in question a should be $(x+a)$ to avoid any confusion.

### 5 Responses to “Typos in Chapters 6-7”

1. Alessandra Says:

:) !!!
Brute-force solution, O(1): try it on those curly brackets!

2. Alessandra Says:

Overall, I think the use of “n” to indicate parameters or variables should be avoided in R codes. In fact, if ever one wants to use the debugger (not with a one line code of course!), “n” would be straightforwardly interpreted as the command “next” (instruction), and there would be no way to retrieve information about the “n” variable/parameter used in the program.

I know that most talented people never need using debug(), but I speak for us, humans…. :)

3. In the first code sample above, I think there’s a typo:

theta[1}]=rnorm(1,m=B*theta0+(1-B)*xbar,sd=sqrt(tau2*B))

should be

theta[1] = …

Also

B=sigma2[1]/(sigma2{1}+n*tau2)

should be

B=sigma2[1]/(sigma2[1]+n*tau2)

It’s those curly brackets again;)

• Typos within the typos! This is endless… Thank you very much, I will keep you posted about those curly brackets!!

This site uses Akismet to reduce spam. Learn how your comment data is processed.