У меня есть большая база данных, которую я буду анализировать в Таблице sh. Тем не менее, файлы упорядочены по времени на четверть и имеют большой размер (10 миллионов строк в каждом) и являются файлами sas7bdat. Я пытаюсь сложить эти файлы так, чтобы они могли быть проанализированы одновременно и связаны с другими файлами в таблице (в Таблице нет функции суммирования). Я использую рабочий стол MA C (так как это предоставлено моим работодателем)
Вот мой макет
library(haven)
#Pull in sas7bdat files into R studio
2001q1<- read_sas("Year 2001 quarter 1", NULL)
2001q2<- read_sas("Year 2001 quarter 2", NULL)
# and so on until
2018q4 <- read_sas("Year 2018 quarter 4", NULL)
#Combine rows
2001_2018_ALL <-rbind(2001q1, 2001q2...2018q4)
#Write file
write_sas(2001_2018_ALL, "2001_2018_ALL")
Проблема в том, что на шаге rbind я получаю следующая ошибка:
Ошибка в if (n> 0) c (NA_integer_, -n) else integer (): пропущенное значение там, где требуется TRUE / FALSE
Кроме того: Предупреждающие сообщения:
1: В Make.row.names (nmi, ri, ni, nrow): NA, введенные путем принуждения в целочисленный диапазон 2: В nrow + ni: произведены NA по целочисленному переполнению
Я знаю, что в самом коде нет изъяна, как будто я беру меньшие куски (скажем, 2001-2003 или 2004-2006), это успешно. Однако, если я пытаюсь объединить больше файлов (в сотни миллионов строк), я получаю эту ошибку.
Есть мысли о том, почему это происходит? или альтернативные способы складирования данных?
Заранее спасибо!