请考虑以下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
的情况下绘制图形?
答案 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