Stata Mata编程一致性错误

时间:2017-10-18 16:31:16

标签: matrix stata

您好我需要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一致性错误”

你能否说一下我做错了什么。

由于

1 个答案:

答案 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中,&符号表示指针。