У меня проблемы с написанием кода на R при попытке повторить строку кода несколько раз.
Я написал следующий код:
rep(blank.matrix<-((distance(site.by.species[sample(nrow(site.by.species)),], method='jaccard')<=existing.jaccard.similarity)*1)+blank.matrix,times=100)
, в котором я пытаюсь переставить сайт по матрице видов:
site.by.species[sample(nrow(site.by.species)),]
затем получим матрицу подобия jaccardиз этого:
distance("", method='jaccard')
, а затем сравнить его с существующей матрицей подобия, где я хочу найти все значения, меньшие или равные ей
<=existing.jaccard.similarity
и затем я хочувыполните это 100 раз - сложив 1 и 0 из каждой созданной матрицы вместе, чтобы у меня был вывод, который дает мне число раз, когда мои existing.jaccard.similarity
значения меньше, чем равны моим переставленным значениям.
Проблема, с которой я сталкиваюсь, заключается в том, что моя матрица довольно большая (8000x700), поэтому, хотя этот код, кажется, запускается, когда я повторяю <5 раз, при попытке повторить большее количество раз я получаю ошибку: </p>
Ошибка: невозможно выделить вектор размером x Гб.
Я был удивлен этим, потому что думал, что буду хранить только обновленный blank.matrix в памяти - но я понимаю, что, возможно, естьоЕсть способы решить эту проблему через apply()
или для циклов.Я ценю любую помощь в том, как очистить этот код!