从Mata内部绘制图

时间:2019-06-24 11:08:49

标签: stata

请考虑以下mata中的玩具矩阵:

mata: A

            1       2
     +-----------------+
   1 |   6555     140  |
   2 |   7205     135  |
   3 |   6255     140  |
   4 |   7272     138  |
   5 |  10283     133  |
   6 |   8244     136  |
   7 |   6909     144  |
   8 |   7645     138  |
   9 |  12828     134  |
  10 |   6538     137  |
     +-----------------+

如果我想使用该矩阵绘制散点图,我首先需要转移它 到Stata,然后还使用svmat命令将其转换为变量:

mata: st_matrix("A", A)

svmat A
list, separator(0)

     +-------------+
     |    A1    A2 |
     |-------------|
  1. |  6555   140 |
  2. |  7205   135 |
  3. |  6255   140 |
  4. |  7272   138 |
  5. | 10283   133 |
  6. |  8244   136 |
  7. |  6909   144 |
  8. |  7645   138 |
  9. | 12828   134 |
 10. |  6538   137 |
     +-------------+

twoway scatter A1 A2

有没有一种方法可以直接在不离开mata的情况下绘制图形?

2 个答案:

答案 0 :(得分:3)

可以绘制mata矩阵,而无需先将其转换为Stata变量,如下所示:

twoway scatter matamatrix(A)

有关更多详细信息,请参见help twoway_mata


由@PearlySpencer编辑:

这可以使用mata函数直接在stata()内部运行:

mata: stata("twoway scatter matamatrix(A)")

答案 1 :(得分:2)

另一种方法是使用社区贡献的 mata函数mm_plot()

mata: mm_plot(A, "scatter")

这是moremata功能集合的一部分,因此必须首先下载:

ssc install moremata