Я пару дней искал способы обойти ограничение на R.
(Ошибка R: будет возвращено ℹ 3357726064 строк. Максимально допустимое количество — 2147483647 строк.)
У меня есть две таблицы со столбцом Rollnumber. Первая таблица содержит около 110 000 строк, а вторая таблица — около 2,6 миллиона. В каждой таблице есть повторяющиеся значения номеров рулонов, однако дубликатов нет, я проверил.
Я ищу творческий ответ о том, как преодолеть ограничение. Спасибо.





Попробуйте разделить данные на управляемые фрагменты, выполнить операции в каждом фрагменте, а затем объединить результаты.
Одним из способов является обработка фрагментов, при которой вы можете обрабатывать данные порциями, чтобы избежать превышения лимита строк. Это означает, что вам нужно разделить данные на управляемые фрагменты, вам нужно обработать каждый фрагмент отдельно, а затем объединить результаты.
Вот код:
library(dplyr)
chunk_size <- 500000
num_chunks <- ceiling(nrow(table2) / chunk_size)
results <- list()
for (i in 1:num_chunks) {
start_row <- (i - 1) * chunk_size + 1
end_row <- min(i * chunk_size, nrow(table2))
chunk <- table2[start_row:end_row, ]
chunk_result <- inner_join(table1, chunk, by = "rollnumber")
results[[i]] <- chunk_result }
final_result <- bind_rows(results)
Ограничение
.Machine$integer.max == 2147483647для 32-битного знакового целого числа. Вашим поисковым запросом может быть «обработка данных по частям».