# Error in info_mat + full_term : non-conformable arrays

Hi everyone, Any idea how I can solve this error 'Error in info_mat + full_term : non-conformable arrays' which pops up whenever I run the code below:

``````type or paste code heretest_alpha=0.05
z_one_minus_alpha<-qnorm(1-test_alpha)

test_beta=0.2
z_one_minus_beta<-qnorm(1-test_beta)

parameters<-c(-0.709 , 0.036 , 0.743 , 1.692 , 0.048 , 1.011 , 0.273 , 0.002 , -0.116)

ncoefficients=9
nalts=3
nchoices=24

setwd("C:\\examples_v0.2.8")

#compute the information matrix
# initialize a matrix of size ncoefficients by ncoefficients filled with zeros.
info_mat=matrix(rep(0,ncoefficients*ncoefficients), ncoefficients, ncoefficients)
# compute exp(design matrix times initial parameter values)
exputilities=exp(as.vector(design)*parameters)
# loop over all choice sets
for (k_set in 1:nchoices) {
# select alternatives in the choice set
alternatives=((k_set-1)*nalts+1) : (k_set*nalts)
# obtain vector of choice shares within the choice set
p_set=exputilities[alternatives]/sum(exputilities[alternatives])
# also put these probabilities on the diagonal of a matrix that only contains zeros
p_diag=diag(p_set)
# compute middle term P-ppâ€™
middle_term<-p_diag-p_set%o%p_set
# pre- and postmultiply with the Xs from the design matrix for the alternatives in this choice set
full_term<-t(design[alternatives,])%*%middle_term%*%design[alternatives,]
# Add contribution of this choice set to the information matrix
info_mat <- info_mat + full_term

}
#get the inverse of the information matrix (i.e., gets the variance-covariance matrix)
sigma_beta<-solve(info_mat,diag(ncoefficients))

# Use the parameter values as effect size. Other values can be used here.
effectsize<-parameters
# formula for sample size calculation is n>[(z_(beta)+z_(1-alpha))*sqrt(S??)/delta]^2
N<-((z_one_minus_beta + z_one_minus_alpha)*sqrt(diag(sigma_beta))/abs(effectsize))^2
# Display results (required sample size for each coefficient)
N

``````

This error message suggests the two matrices do not have the same dimensions (same number of rows and columns).

Try running your code, and when it fails, check the value `k_set` (is it an error for a particular value?), and equality of the values of `dim(info_mat)` and `dim(full_term)`.

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.