Това е грешка за разпределение на обща памет. Проблемът обикновено е Revolution R да се опитва да чете твърде много редове едновременно от вашия файл с данни за обработване на данните в паметта за един блок от данни.
Първо опитайте следното, за да разрешите проблема:
Задайте малка стойност за аргумента "rowsPerRead" във вашия rxImport() декларация. Опитайте стойност "10000" или по-малко. Може да се наложи да опитате различни настройки за
това за намиране на стойност, която работи добре и импортира данните възможно най-бързо.
Ако това не помогне и csv файла има много колони, тя може да помогне да импортирате данните "x" колони в даден момент. Например ако вашите данни като 5000 колони, можете да импортирате данните за 50 колони наведнъж и запис на данни за 50 колони в нов файл XDF и добавяне към съществуващ XDF файла.
Ето някои примерни R код, за да направите това:
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")
}