Использование фрейма данных с x и y для заполнения матрицы

Вопрос R: я хотел бы использовать фрейм данных с координатами x в одном столбце и координатами y во втором столбце для заполнения матрицы. Затем матрица будет использоваться heatmap() для создания дендрограммы.

Вот пример:

> head(S1)
  DB_num AD_num
1      2   8060
2      7   3553
3      8   4812
4     13   7745
5     24   3315
6     24   6012

Мне также нужно знать, как сделать матрицу, если это возможно. Максимальное значение кадра данных составляет 15 490, поэтому я предполагаю, что матрица должна быть 15 490 на 15 490. Поскольку матрица такая большая, я думаю, ее нужно заполнить NA, а не нулями?


person Kerpal Jenkiens    schedule 31.07.2013    source источник
comment
чем ты хочешь его наполнить? with(S1, table(DB_num, AD_num)) может сблизить вас...   -  person Justin    schedule 01.08.2013


Ответы (1)


mtx <- matrix(NA, 15490 , 15,490)
mtx[ as.matrix(S1) ] <- 1   # two column matrix can be used to index

Вам потребуется достаточное количество машинных ресурсов, если это ваша стратегия. Он не поместится в большинстве 4-гигабайтных устройств, или он может поместиться, но затем закончится память, если вы попытаетесь что-то с ним сделать. Заполнение NA не сэкономит место, если вы не используете разреженные матрицы из pkg::Matrix. Я по-прежнему считаю, что вам нужны статистические советы больше, чем советы по кодированию, даже несмотря на то, что вы, похоже, удалили более раннюю версию этого вопроса. Я вижу в этом разумный путь к построению структуры классификации.

person IRTFM    schedule 01.08.2013
comment
Я думаю, вы поставили лишний ,, так что должно быть: mtx <- matrix(NA, 15490 , 15490) - person Kerpal Jenkiens; 01.08.2013
comment
Итак, где/как я могу получить этот статистический совет? - person Kerpal Jenkiens; 01.08.2013
comment
stats.stackexchange.com - person IRTFM; 01.08.2013