Aceasta este o eroare de alocare de memorie generale. De obicei problema este că Revolution R încearcă să citească prea multe rânduri deodată din fișierul de date pentru a procesa datele din memorie pentru o singură bucată de date.
Încercați mai întâi următoarele, pentru a rezolva problema: Setați o valoare mică pentru argumentul 'rowsPerRead' în instrucțiunea rxImport(). Încercați o valoare de '10000' sau mai puțin. Trebuie să încercați setări diferite pentru Acest lucru pentru a găsi o valoare care funcționează bine și importă datele cât mai curând posibil. Dacă acest lucru nu ajută și fișierul csv are o mulțime de coloane, aceasta vă poate ajuta să importați coloane de date 'x' o dată. De exemplu, dacă vă dataset 5000 coloane, se recomandă să importați datele pentru coloane 50 la un moment dat și scrie date pentru coloane 50 într-un fișier nou XDF și adăugați la acel fișier existent XDF. Iată un cod de exemplu R pentru a face acest lucru:varNames <- readLines("mycsv.txt", n=1) colsPerRead <- 50 ## Set how many columns to read from the csv file at a time. You may want to initially set this to a larger value, say 100.
numReadsFromFile <- length(varNames/colsPerRead) for (i in 1:numReadsFromFile) { tempdf <- rxImport(inData = "C:/MyRData/data.csv", varsToKeep = paste(varNames[((i-1)*colsPerRead)+1:(((i-1)*colsPerRead)+1)+colsPerRead], sep = ","), rowsPerRead = 10000) rxDataFrameToXdf(data = tempdf, ouFile = "C:/MyRData/data.xdf", append = "cols") }