Este é um erro de alocação de memória geral. O problema usual é R revolução está tentando ler muitas linhas ao mesmo tempo do arquivo de dados para processar os dados na memória para um único bloco de dados.
Primeiro, tente o seguinte para resolver o problema:
Defina um pequeno valor para o argumento 'rowsPerRead' na instrução rxImport(). Tente um valor de '10000' ou menos. Talvez seja necessário experimentar diferentes configurações para
Esta opção para localizar um valor que funciona bem e importa os dados assim que possível.
Se isso não ajudar, e seu arquivo csv tem muitas colunas, pode ajudar a importar as colunas de dados 'x' em um momento. Por exemplo, se o dataset como 5000 colunas, convém importar os dados para 50 colunas ao mesmo tempo, gravar os dados de 50 colunas para um novo arquivo XDF e acrescentar ao arquivo XDF existente.
Eis alguns códigos de exemplo R para isso:
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")
}