Dit is een algemene fout bij geheugentoewijzing. Het gebruikelijke probleem is dat revolutie R probeert te veel rijen in één keer lezen van het gegevensbestand voor het verwerken van de gegevens in het geheugen voor een hoeveelheid gegevens in één.
Probeer eerst het volgende, op te lossen: Stel een kleine waarde voor het argument 'rowsPerRead' in de rxImport()-instructie. Probeer een waarde van '10000' of minder. Moet u mogelijk verschillende instellingen voor Met deze een waarde vindt die goed werkt en de gegevens zo snel mogelijk worden geïmporteerd. Als dit niet helpt en uw CSV-bestand een groot aantal kolommen heeft, kan het helpen om de 'x' gegevenskolommen tegelijk importeren. Bijvoorbeeld, als uw gegevensset als 5000 kolommen, u kunt de gegevens voor 50 kolommen tegelijk importeren en wegschrijven van de gegevens voor 50 kolommen naar een nieuw bestand met XDF en toevoegen aan het bestaande bestand XDF. Hier is een voorbeeldcode R dat: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") }