Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

What am I doing wrong in this code to produce this error in R? > library(mvtnorm

ID: 3797101 • Letter: W

Question

What am I doing wrong in this code to produce this error in R?

> library(mvtnorm)
> trueBeta = c(5,8,4,9)
> n = 1000;
> numSamp = 1000;
> epsilon = matrix(rnorm(n*numSamp),n)
> xCovar = matrix(c(1,1.5,1.5,3),2,2)
> X = cbind(rep(1,n),rmvnorm(n, cbind(1,2),xCovar), runif(n, min = 0, max = 10))
> k = ncol(X)
> Xnew = cbind(X[1,],X[3,],X[4,])
> y = matrix(0,n,numSamp)
> beta_ols = matrix(0,k,numSamp)
>   
> for (it in 1:numSamp) {
+ y[,it] = X%*%trueBeta + epsilon[,it]
+ beta_ols[,it] = solve(t(Xnew)%*%Xnew)%*%t(Xnew)%*%y[,it]}
Error in solve(t(Xnew) %*% Xnew) %*% t(Xnew) %*% y[, it] :
non-conformable arguments

Explanation / Answer

library(mvtnorm)
trueBeta=c(5,8,4,9)
n=1000
numSamp=1000;
epsilon=matrix(rnorm(n*numSamp),n)
xCover=matrix(c(1,1.5,1.5,3),2,2)
X=cbind(rep(1,n),rmvnorm(n,cbind(1,2),xCover),runif(n,min=0,max=10))
k=ncol(X)
y=matrix(0,n,numSamp)
beta_ols=matrix(0,k,numSamp)

for(it in 1:numSamp){
y[,it]=X%*%trueBeta+epsilon[,it]
beta_ols[,it]=solve(t(X)%*%X)%*%t(X)%*%y[,it]
  
}

beta_ols

### solution

Xnew=X[,-2]
k=ncol(Xnew)
y=matrix(0,n,numSamp)
beta_ols=matrix(0,k,numSamp)

for(it in 1:numSamp){
y[,it]=X%*%trueBeta+epsilon[,it]
beta_ols[,it]=solve(t(Xnew)%*%Xnew)%*%t(Xnew)%*%y[,it]
  
}

beta_ols

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote