问题描述
我生成了一个10x10的矩阵和一个10观察变量(其值无关紧要)。
我想将所有变量值插入矩阵的第一列。
我正在努力使变量和矩阵都“子集化”。
matrix M = J(10,10,.)
egen V = seq(),f(1) t(10)
matrix M[1:_N,1] = V[1:_N]
解决方法
如果右侧的表达式求值为矩阵(不是标量),则将用给定的左上角元素替换子矩阵,因此仅等式左侧的左上角元素就足够了。 / p>
关于变量下标,恐怕您只能参考一种观察。您将需要执行额外的步骤,以使用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