您好我需要Stata的Mata编程语言帮助以下最低工作示例。
我试图在尺寸600x1(V矩阵)的指针矩阵内插入尺寸(1x200)的子矩阵(由随机法线绘制生成)。
mata:
T=600 //number of markets
K_S=1 //number of variables with stochastic coefficients
R=200 //number of random draws
st_matrix("T", T)
//pointers to the market specific random draws:
V=J(T,1,NULL) // T by 1 0 matrix
for(t=1;t<=T;t++){
V[t]=(rnormal(K_S,R,0,1)) //dimension K_S x R
}
end
问题是我得到了“rnormal():3200一致性错误”
你能否说一下我做错了什么。
由于
答案 0 :(得分:1)
您正尝试将K_S x R
矩阵分配给列向量中的单个单元格。必须指定一个指针,指针:
mata:
T = 600 // number of markets
K_S = 1 // number of variables with stochastic coefficients
R = 200 // number of random draws
st_matrix("T", T)
// pointers to the market specific random draws:
V = J(T, 1, NULL) // T by 1 0 matrix
for(t=1; t<=T; t++){
V[t]= &(rnormal(K_S, R, 0, 1)) //dimension K_S x R
}
end
在mata中,&
符号表示指针。