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") 
}


Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności

Poznaj szkolenia >

Uzyskuj nowe funkcje w pierwszej kolejności

Dołącz do niejawnych testerów firmy Microsoft >

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?

Dziękujemy za opinię!

×