\begin{knitrout}
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
\begin{alltt}
\hlcom{#Set-up}
\hlkwd{set.seed}\hlstd{(}\hlnum{865177}\hlstd{)}
\hlkwd{library}\hlstd{(mvnfast)}
\hlstd{n}\hlkwb{<-}\hlnum{10000}
\hlstd{k}\hlkwb{<-}\hlnum{10}
\hlstd{Mu}\hlkwb{<-}\hlkwd{sample}\hlstd{(}\hlopt{-}\hlnum{5}\hlopt{:}\hlnum{5}\hlstd{,}\hlkwc{size}\hlstd{=k,}\hlkwc{rep}\hlstd{=T)}\hlopt{/}\hlnum{2}
\hlstd{Sigma}\hlkwb{<-}\hlnum{0.1}\hlopt{*}\hlnum{0.8}\hlopt{^}\hlkwd{abs}\hlstd{(}\hlkwd{outer}\hlstd{(}\hlnum{1}\hlopt{:}\hlstd{k,}\hlnum{1}\hlopt{:}\hlstd{k,}\hlstr{'-'}\hlstd{))}
\hlstd{al}\hlkwb{<-}\hlkwd{c}\hlstd{(}\hlnum{4}\hlstd{,}\hlkwd{rep}\hlstd{(}\hlnum{1}\hlstd{,}\hlnum{6}\hlstd{),}\hlkwd{rep}\hlstd{(}\hlopt{-}\hlnum{2}\hlstd{,}\hlnum{4}\hlstd{))}
\hlstd{be}\hlkwb{<-}\hlkwd{rep}\hlstd{(}\hlnum{0}\hlstd{,k}\hlopt{+}\hlnum{1}\hlstd{)}
\hlstd{be[}\hlnum{1}\hlopt{:}\hlnum{5}\hlstd{]}\hlkwb{<-}\hlkwd{c}\hlstd{(}\hlnum{2}\hlstd{,}\hlopt{-}\hlnum{2.0}\hlstd{,}\hlnum{2.2}\hlstd{,}\hlnum{3.6}\hlstd{)}
\hlstd{sigZ}\hlkwb{<-}\hlnum{5}\hlstd{;sigY}\hlkwb{<-}\hlnum{1}

\hlcom{#Exploratory sample}
\hlstd{X}\hlkwb{<-}\hlkwd{rmvn}\hlstd{(n,}\hlkwc{mu}\hlstd{=Mu,Sigma)}
\hlstd{Xal}\hlkwb{<-}\hlkwd{cbind}\hlstd{(}\hlnum{1}\hlstd{,X)}
\hlstd{ps.true}\hlkwb{<-}\hlstd{Xal} \hlopt{%*%} \hlstd{al}
\hlstd{Z}\hlkwb{<-}\hlkwd{rnorm}\hlstd{(n,ps.true,sigZ)}

\hlcom{#Find a plotting grid}
\hlstd{Z0}\hlkwb{<-}\hlkwd{round}\hlstd{(}\hlkwd{mean}\hlstd{(Z),}\hlnum{0}\hlstd{)}
\hlstd{zgrid}\hlkwb{<-}\hlkwd{seq}\hlstd{(Z0}\hlopt{-}\hlnum{5}\hlstd{,Z0}\hlopt{+}\hlnum{5}\hlstd{,}\hlkwc{by}\hlstd{=}\hlnum{0.1}\hlstd{)}
\hlstd{nZ}\hlkwb{<-}\hlkwd{length}\hlstd{(zgrid)}

\hlcom{#Intercept}
\hlstd{intercept.val}\hlkwb{<-}\hlstd{be[}\hlnum{1}\hlstd{]}\hlopt{+}\hlkwd{sum}\hlstd{(Mu}\hlopt{*}\hlstd{be[}\hlopt{-}\hlkwd{c}\hlstd{(}\hlnum{1}\hlopt{:}\hlnum{2}\hlstd{)])}
\hlstd{psi}\hlkwb{<-}\hlkwd{c}\hlstd{(}\hlnum{1}\hlstd{,}\hlnum{0.2}\hlstd{)}
\hlstd{Xm}\hlkwb{<-}\hlkwd{cbind}\hlstd{(}\hlnum{1}\hlstd{,X)}
\hlstd{muval}\hlkwb{<-}\hlkwd{as.vector}\hlstd{(Xm} \hlopt{%*%} \hlstd{be)} \hlopt{+} \hlstd{Z}\hlopt{*}\hlstd{psi[}\hlnum{1}\hlstd{]} \hlopt{+} \hlstd{Z}\hlopt{^}\hlnum{2}\hlopt{*}\hlstd{psi[}\hlnum{2}\hlstd{]}
\hlstd{Y}\hlkwb{<-}\hlkwd{rnorm}\hlstd{(n,muval,sigY)}
\hlkwd{summary}\hlstd{(Z)}
\end{alltt}
\begin{verbatim}
+    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
+ -10.934   4.886   8.509   8.540  12.132  28.798
\end{verbatim}
\end{kframe}
\end{knitrout}