Plot 使用J创建散点图矩阵

Plot 使用J创建散点图矩阵,plot,j,Plot,J,我在命令行上做一些数据科学研究,发现J是基本分析(统计)任务的便捷工具。几年前,我对这门语言有了一些初步的感觉,现在我不得不重新开始成为一个彻头彻尾的noob。对于我现在所处的困境,如果能得到一些帮助,那就太好了 我有一组测量属性,希望直观地显示相关性。该视图通常称为散点图矩阵,这是一个很好的例子。我认为可以使用J的强大绘图库创建类似的图形 到目前为止我所做的: NB. For sake of brevity, my test data is simulated here comprising

我在命令行上做一些数据科学研究,发现J是基本分析(统计)任务的便捷工具。几年前,我对这门语言有了一些初步的感觉,现在我不得不重新开始成为一个彻头彻尾的noob。对于我现在所处的困境,如果能得到一些帮助,那就太好了

我有一组测量属性,希望直观地显示相关性。该视图通常称为散点图矩阵,这是一个很好的例子。我认为可以使用J的强大绘图库创建类似的图形

到目前为止我所做的:

NB. For sake of brevity, my test data is simulated here comprising 4 attributes with 7 measurements:
   ]A=:i. 7 4
 0  1  2  3
 4  5  6  7
 8  9 10 11
12 13 14 15
16 17 18 19
20 21 22 23
24 25 26 27

NB. With the aid of a sparse matrix I created the index matrix of the multiplot matrix/layout
   ]Idx=: 4 $. $. 4 4$1
0 0
0 1
0 2
0 3
1 0
1 1
1 2
1 3
2 0
2 1
2 2
2 3
3 0
3 1
3 2
3 3

NB. Creating a single plot work fine with this sentence, here showing attribute 1 vs 3.
'TYPE marker' plot 1 1 <;.1 |: 3 1 {"1 A

NB. And here is my failed approach for creating a (multiplot) scatterplot matrix
   pd 'multi 4 4'
   3 : 0''
for_ijk. Idx do.
pd 1 1 <;.1 |: ijk {"1 A
end.
)
   pd 'show'
NB。为简洁起见,此处模拟了我的测试数据,包括4个属性和7个测量值:
]A=:i。7 4
0  1  2  3
4  5  6  7
8  9 10 11
12 13 14 15
16 17 18 19
20 21 22 23
24 25 26 27
注意。借助稀疏矩阵,我创建了多点矩阵/布局的索引矩阵
]Idx=:4$.$。4 4$1
0 0
0 1
0 2
0 3
1 0
1 1
1 2
1 3
2 0
2 1
2 2
2 3
3 0
3 1
3 2
3 3
注意。创建一个单独的绘图可以很好地使用这个句子,这里显示属性1和属性3。

“类型标记”图1您的方法很好,但据我所知,
pd multi
需要将所有数据同时作为两个元素列表的装箱列表:

(options1;data1) ; (options2;data2) ; ... 
一种可能的方法是:

options =: 'type marker'
pd'reset'
pd'multi 4 4'
pd (options; <)"1 (A&({"1~)) &.> Idx
pd 'show'
options=:“类型标记”
“重置”
pd'multi 4'
pd(选项;Idx)
pd“秀”

假设
选项
对于所有绘图都是通用的。

太好了!我知道,如果我想要,比如说,在对角线上有直方图,或者每个子绘图都有相关系数的标题/文本,我必须“手工”编写装箱列表使用自定义选项?是否有可能创建带有for循环的2元素列表的装箱列表?好的,您可以随时利用任何模式,避免“手动”完成此操作。如果没有任何规则性,则必须提供选项列表,如
opts:=“opt1”;“opt2”;…
,并将其添加到数据中:
opts,“0 1数据”