如何按列号或列名提取Stata矩阵的子集?
Stata提取虚拟变量系数矩阵的两种方法
方法一:按列位置直接提取
如果确定目标列是第6到29列,直接用矩阵下标提取即可(注意e(b)是行向量矩阵,只有1行):
matrix A = e(b) matrix B = A[1, 6..29] // 提取第1行的第6至29列 matlist B // 查看新矩阵确认内容
方法二:按列名匹配提取(更灵活)
如果想通过*.dummy1这类列名精准筛选,用正则匹配列名的方式更稳妥:
matrix A = e(b) // 获取矩阵A的所有列名 local all_cols : colnames A // 筛选出所有以.dummy1结尾的列名 local target_cols : list all_cols regex ".*\.dummy1$" // 提取对应列的系数 matrix B = A[1, `target_cols']
绘图前的小调整
如果后续绘图需要列向量格式,把矩阵转置即可:
matrix B = B' // 转置为列矩阵
内容的提问来源于stack exchange,提问作者tookja
相关产品推荐
相关产品推荐

