Applies ToRevolution Analytics

Detta är en allmän minnesallokeringsfel. Vanliga problem är att revolutionen R skulle läsas för många rader samtidigt från datafilen för att bearbeta data i minnet för en enskild del av data.Först prova följande för att lösa problemet:Ange ett mindre värde för argumentet 'rowsPerRead' i uttrycket rxImport(). Prova ett värde på "10000" eller mindre. Du kan behöva prova olika inställningar förDetta för att hitta ett värde som fungerar bra och importerar data så snabbt som möjligt. Om detta inte hjälper och CSV-fil har många kolumner, hjälper det för att importera 'x' datakolumner samtidigt. Till exempel om din datauppsättning som 5000 kolumner, du kanske vill importera data för 50 kolumner samtidigt och skriva ut data för 50 kolumner till en ny XDF-fil och lägga till befintliga XDF filen.Här är några exempelkod R att göra detta:

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

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.