将变量的值插入矩阵 - Stata

Inserting variable's values into a matrix - Stata

我生成了一个 10x10 矩阵和一个 10 观测变量(它的值无关紧要)。

我想将所有变量值插入矩阵的第一列。

我正在努力对变量和矩阵进行“子集化”。

matrix M = J(10, 10, .)

egen V = seq(), f(1) t(10)

matrix M[1:_N, 1] = V[1:_N]

如果右边的表达式求值为矩阵(不是标量),这将用给定的左上角元素替换子矩阵,因此只有等式左侧的左上角元素就足够了.

关于变量下标,恐怕你只能参考一个观察。您将需要一个额外的步骤,使用 mkmat.

将变量中的数据放入矩阵中
clear
set obs 10
matrix M = J(10, 10, .)
egen V = seq(), f(1) t(10)

mkmat V in 1/10 // Put observations 1 to 10 from variable V into matrix V
matrix M[1,1] = V // Replace submatrix of M with top left element 1,1 with V