Я пытаюсь создать матрицу определенных попарных значений, сначала выполняя вычисления в матрице, а затем расплавляя ее и добавляя некоторую дополнительную информацию. Я хотел бы также включить эту дополнительную информацию о столбцах и строках, чтобы достичь чего-то вроде следующего, если я конвертирую ее обратно в матричный формат (или фрейм данных, или что-то еще):
X.col 1 2 3 4
Y.col 1 2 3 4
Z.col 1 2 3 4
Col 1 2 3 4
X.row Y.row Z.row Row
1 1 1 1 1 0 0 1
2 2 2 2 0 1 0 0
3 3 3 3 0 1 1 0
4 4 4 4 0 1 0 1
или, возможно, без имен, например:
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
1 1 1 1 1 0 0 1
2 2 2 2 0 1 0 0
3 3 3 3 0 1 1 0
4 4 4 4 0 1 0 1
Обычно x, y, z содержат дополнительную информацию о некоторых продуктах, идентификаторы которых хранятся в row и col. Я делаю несколько парных сравнений, которые затем представляю в матрице для наших менеджеров, которые также хотели бы видеть эту дополнительную информацию вместе с матрицей, как показано выше.
Итак, для данных позвольте df содержать расплавленная матрица объединена с дополнительной информацией:
row = c(rep(1,4), rep(2,4), rep(3,4), rep(4,4)) #e.g. product id
col = rep(c(1,2,3,4), 4) #e.g. product id
value = c(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1) #pairwise index value, calculated from comparing product in row with product in col
x.row = c(rep(1,4), rep(2,4), rep(3,4), rep(4,4)) #some x information on row id
y.row = c(rep(1,4), rep(2,4), rep(3,4), rep(4,4)) #some y information on row id
z.row = c(rep(1,4), rep(2,4), rep(3,4), rep(4,4)) #some z information on row id
x.col = rep(c(1,2,3,4), 4) #some x information on col id
y.col = rep(c(1,2,3,4), 4) #some y information on col id
z.col = rep(c(1,2,3,4), 4) #some z information on col id
df <- data.frame(row, col, value, x.row, y.row, z.row, x.col, y.col, z.col)
Тогда возникает вопрос: как реализовать sh визуальную матрицу, как показано выше, или что-то подобное в R?
go относительно проблемы в Excel довольно легко, поскольку она основана на ячейках, но меня больше интересует решение в R (если возможно). Так что я думаю, что ищу вдохновение в том, как я могу это сделать, или, может быть, даже конкретное c решение о том, как это сделать. Я думал, можно ли использовать пакет openxlsx и управлять листом в excel через R. Или, может быть, использовать списки и хранить их в DF ... Или heatmaply (у которого есть опция для, например, дендрограммы над тепловая карта).
Я должен признать, что я застрял. Я не могу осмыслить это ... Так что, думаю, мне нужен ваш опыт:)