See on üldine mälu eraldamine tõrge. Tavaline probleem on Revolution R proovib lugeda liiga palju ridu korraga andmefaili mälus ühe tüki andmeid töödelda.

Kõigepealt proovige probleemi lahendamiseks järgmist:

Väärtus väike argument 'rowsPerRead' rxImport() lauses. Proovige väärtus "10000" või vähem. Võib-olla proovida erinevad sätted

See väärtus, mis toimib hästi ja impordib andmed võimalikult kiiresti leida.

 

Kui see ei aita ja csv-faili on palju veerud, see võib aidata korraga andmeveerud "x" importida. Näiteks kui teie dataset 5000 veergudes võite korraga 50 veergude andmete importimiseks ja 50 veergu XDF uue faili andmed välja kirjutada ja selle XDF olemasolevale failile lisamine.

Siin on mõned R näidiskood selleks, et:

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


Kas vajate veel abi?

Täiendage oma oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liitu Microsofti Insideri programmis osalejad

Kas sellest teabest oli abi?

Kui rahul te keelekvaliteediga olete?
Mis mõjutas teie hinnangut?

Täname tagasiside eest!

×