У меня есть матрица А, и я хочу, чтобы создать матрицу B, где:Агрегирования больших матриц
колонка 1 = колонок 1 матрицу А
колонок 2 = агрегацию двух столбцов, где столбец 1 матрицу А агрегируется с любым столбцом матрицы А, который больше всего коррелирует с
столбец 3 = совокупность трех столбцов, где агрегированный результат (столбец 2 матрицы В) агрегируется с любым столбцом А, который больше всего коррелирует с (кроме столбца из уже включенной матрицы A, этот был удален из матрицы A)
и т. Д.
Я петлю вычисление для корреляции, где вычисляю все корреляции на каждой итерации. Это работает при низких значениях r и n (для простоты я выбрал низкие значения в этом примере), но занимает очень много времени с большими наборами данных. Есть ли более быстрый/более эффективный способ сделать это? Предпочтительно метод, в котором мне не нужно было бы вычислять все корреляции на каждой итерации. Я пробовал такие функции, как bigcor()
, но без успеха до сих пор.
Как поместить вне цикла когда я должен повторить процесс n-1 раз? – Joseph
Что не ясно? Я хотел бы объяснить это более четко. – Joseph
Концепция того, что вы пытаетесь сделать, не имеет для меня никакого смысла (статистически). Но я думаю, что теперь могу понять проблему кодирования ... Позвольте мне отладить и переписать мой ответ. –