Si tratta di un errore di allocazione della memoria generale. Il problema di solito è che tenta di leggere contemporaneamente troppe righe del file di dati per elaborare i dati in memoria per un singolo blocco di dati R rivoluzione.
Provare quanto segue, per risolvere il problema: Impostare un valore basso per l'argomento 'rowsPerRead' nell'istruzione rxImport(). Provare con un valore inferiore o pari a "10000". Potrebbe essere necessario provare impostazioni diverse per Questa opzione per trovare un valore che funziona bene e al più presto i dati importati. Se il problema persiste e il file csv include molte colonne, può essere utile per importare le colonne di dati 'x' contemporaneamente. Ad esempio, se il dataset come 5000 colonne, è consigliabile importare i dati per 50 colonne alla volta e scrivere i dati per un nuovo file XDF 50 colonne e aggiungere al file XDF esistente. Di seguito è riportato un codice di esempio R per eseguire questa operazione: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") }