许多向量Mata / Stata的垂直连接

时间:2014-06-27 10:31:57

标签: vector concatenation stata

我正在与Mata(Stata)合作尝试追加(垂直连接)许多向量。 我想做点什么

mat C = A\B

但是由于我有大约300个列向量要附加在一个唯一的列向量中,我想知道是否有命令来执行它(因为它很难键入

mat C = c1\c2\c3... 

300次)。

2 个答案:

答案 0 :(得分:3)

您引用的代码是Stata的矩阵语言, Mata。

你是如何获得这些载体的?他们系统地命名了吗?

根据细节,可能会有一个简单的答案。

例如,在Stata中,您可以使用列向量c1 ... c300

mat C = c1 
forval j = 2/300 {
    mat C = C \ c`j'
}

尽管matsize限制可能意味着您最好将这样的列向量作为Stata变量或Mata处理。

编辑:要从这些列中生成Stata中的矩阵,请使用,而非\

答案 1 :(得分:0)

此代码采用尼克的逻辑,但使用的是Mata语言。

mat c=(1,4,7,10\2,5,8,11\3,6,9,12) // 3 x 4 matrix
mat list c

mata
c=st_matrix("c")          // Stata matrix into Mata matrix
x=c[.,1]
for (i=2; i<5;i++)  {
x=x\c[.,i]
}
st_matrix("newC",x)       // Mata matrix into Stata matrix
end

mat list newC