Dies ist eine allgemeine Speicherzuweisungsfehler. Die üblichen ist Revolution R versucht, zu viele Zeilen gleichzeitig aus der Datendatei die Daten im Arbeitsspeicher für einen einzelnen Datenblock zu lesen.
Versuchen Sie zunächst die folgenden zu beheben:
Legen Sie einen kleinen Wert für das Argument 'RowsPerRead' in der rxImport()-Anweisung. Versuchen Sie, einen Wert "10000". Müssen Sie verschiedene Einstellungen für
Dies funktioniert gut und importiert die Daten möglichst schnell einen Wert zu suchen.
Wenn dies nicht unterstützen und die CSV-Datei viele Spalten, hilft es die Datenspalten 'X' importieren. Beispielsweise wenn Dataset als 5000 Spalten möglicherweise importieren 50 Spalten gleichzeitig Daten für 50 Spalten in eine neue Datei XDF und die vorhandene Datei XDF hinzufügen.
Hier wird R Beispielcode dazu:
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")
}