Toto je chyba přidělení paměti Obecné. Obvyklý problém je, že revoluce R se pokouší číst příliš mnoho řádků najednou ze souboru dat pro zpracování dat v paměti pro jednoho bloku dat.
Vyzkoušejte nejprve následující příkaz, chcete-li tento problém vyřešit:
Nastavte malé hodnoty pro argument "rowsPerRead" v příkazu rxImport(). Zadejte hodnotu "10000" nebo méně. Je třeba vyzkoušet různé možnosti nastavení pro
To je hodnota, která funguje dobře a importuje data co nejrychleji najít.
Pokud soubor csv obsahuje mnoho sloupců informace nenajdete, můžete současně importovat sloupce dat "x". Například pokud vaše dataset jako 5000 sloupců můžete importovat data pro 50 sloupců současně a zapsat data do nového souboru XDF 50 sloupců a připojit k existující XDF souboru.
Zde je ukázka R kód k tomuto:
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")
}