Applies ToRevolution Analytics

Este é um erro de atribuição de memória geral. O problema habitual é que revolução R está a tentar ler demasiadas linhas em simultâneo a partir do ficheiro de dados para processar os dados na memória para um único segmento de dados.Em primeiro lugar, tente o seguinte, para resolver o problema:Defina um pequeno valor para o argumento 'rowsPerRead' na instrução de rxImport(). Tente um valor igual ou inferior a '10000'. Poderá ter de experimentar definições diferentes paraEsta opção para localizar um valor que funciona bem e importa os dados tão rapidamente quanto possível. Se isto não ajuda e o ficheiro csv tem uma grande quantidade de colunas, pode ajudar a importar as colunas de dados 'x' de cada vez. Por exemplo, se o conjunto de dados como 5000 colunas, poderá importar os dados de 50 colunas ao mesmo tempo e escrever os dados de 50 colunas para um novo ficheiro XDF e acrescentar a esse ficheiro XDF existente.Eis alguns códigos de exemplo R para o fazer:

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

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.