Dette er en generell feil ved minnetildeling. Vanlige problemet er at revolusjon R prøver å lese for mange rader om gangen fra datafilen til å behandle dataene i minnet for en enkelt mengde data.Først kan du prøve følgende for å løse problemet:Angi en lav verdi for argumentet 'rowsPerRead' i setningen rxImport(). Prøv en verdi på '10000' eller mindre. Du må kanskje prøve forskjellige innstillinger forDette for å finne en verdi som fungerer bra og importerer data så raskt som mulig. Hvis dette ikke hjelper, og har mange kolonner for csv-fil, kan det hjelpe for å importere "x"-datakolonner om gangen. For eksempel hvis din dataset som 5000 kolonner du vil kanskje til å importere dataene for 50 kolonner om gangen og skrive ut data for 50 kolonner i en ny XDF-fil og legge til den eksisterende XDF-filen.Her er noen eksempelkode R å gjøre dette:
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") }