Jest to błąd alokacji pamięci głównej. Zwykle problemem jest to, że rewolucja R próbuje odczytać zbyt wiele wierszy naraz z pliku danych do przetwarzania danych w pamięci dla pojedynczego fragmentu danych.
Najpierw spróbuj wykonać następujące czynności, aby rozwiązać ten problem:
Ustawić małej wartości argumentu 'rowsPerRead' w instrukcji rxImport(). Spróbuj wartość "10000" lub mniej. Należy wypróbować różne ustawienia dla
tak, aby znaleźć wartość, która działa dobrze i importuje dane tak szybko jak to możliwe.
Jeśli to nie pomoże, a plik csv ma wiele kolumn, może pomóc do importowania kolumn danych 'x' na raz. Na przykład jeśli zestaw danych jako kolumny 5000 chcesz importować dane dla kolumny 50 naraz i zapisywać dane dla kolumny 50 do nowego pliku XDF i Dołącz do tego istniejącego pliku XDF.
Oto niektóre kod próbki R, w tym:
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")
}