Я занимаюсь данными в командной строке и обнаружил, что J - удобный инструмент для базовых задач анализа (статистики). После того, как несколько лет назад я немного почувствовал первоначальный интерес к языку, мне нужно было перезапустить его. Было бы здорово получить некоторую помощь, когда я застрял.
У меня есть набор измеряемых атрибутов, и я хочу визуально отобразить корреляцию. Представление часто называют матрицей диаграммы рассеяния, хорошим примером является здесь . Я думаю, что подобную фигуру можно создать в 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'
Прежде всего, выполнение этого через цикл кажется неправильнымв J. Есть ли лучший способ внедрить индекс для каждого элемента графика?
Во-вторых, цикл не правильно передает данные в график (pd), но я не смог найти способ добавить все результаты вбольшая матрица и только это подать на pd.
Любые идеи приветствуются! Большое спасибо заранее.