Создание матрицы с дополнительной информацией о строках и столбцах в R - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь создать матрицу определенных попарных значений, сначала выполняя вычисления в матрице, а затем расплавляя ее и добавляя некоторую дополнительную информацию. Я хотел бы также включить эту дополнительную информацию о столбцах и строках, чтобы достичь чего-то вроде следующего, если я конвертирую ее обратно в матричный формат (или фрейм данных, или что-то еще):

                   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 (у которого есть опция для, например, дендрограммы над тепловая карта).

Я должен признать, что я застрял. Я не могу осмыслить это ... Так что, думаю, мне нужен ваш опыт:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...