Трудно сказать, что делать, не понимая точно, чего вы пытаетесь достичь здесь. Но я попробую.
Сначала вы можете заменить data.frame
на data.table
. По моему опыту, с ними гораздо быстрее работать.
Во-вторых, вы можете создать result
data.frame с указанным размером. Например, похоже, что он всегда будет иметь размер nrow(m) by ncol(m)
. Итак, result = as.data.frame(matrix(nrow = nrow(m), ncol = ncol(m)))
. Конечно, вы всегда можете заменить его на data.table
тоже. Указание размера data.frame
выделит достаточно памяти для объекта. Таким образом, R
не нужно будет увеличивать (копировать содержимое оригинального фрейма в объект, который на одну единицу больше, а затем удалить оригинал) объект, чтобы просто добавить другой элемент.