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


¿Necesita más ayuda?

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Unirse a Microsoft Insider

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a tu experiencia?

¡Gracias por sus comentarios!

×