Se trata de un error de asignación de memoria general. El problema habitual es R de revolución está intentando leer demasiadas filas a la vez del archivo de datos para procesar los datos en la memoria de un bloque de datos.
En primer lugar, intente lo siguiente para resolver el problema:
Establecer un valor pequeño para el argumento 'rowsPerRead' en la instrucción rxImport(). Pruebe con un valor de '10000' o menos. Puede que necesite probar diferentes configuraciones para
Esta opción para buscar un valor que funciona bien e importa los datos lo más rápidamente posible.
Si esto no ayuda, y tu archivo csv tiene muchas columnas, puede ayudar a importar las columnas de datos 'x' a la vez. Por ejemplo, si el conjunto de datos como 5000 columnas, desea importar los datos de 50 columnas a la vez y escribir los datos para un nuevo archivo XDF 50 columnas y anexar a archivo existente XDF.
Aquí es código de ejemplo R para hacerlo:
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")
}