Це загальні розміщення яті. Зазвичай проблема полягає в тому, Revolution R намагається прочитати забагато рядки за один раз, з файлу даних, обробка даних в пам'яті, з одного блока даних.

Спочатку, виконайте такі дії, щоб вирішити цю проблему:

Посеред рахунку в rxImport() малого значення для 'rowsPerRead' аргумент. Спробуйте скористатися значенням "10000" або менше. Спробуйте різних параметрів може знадобитися

Це, щоб знайти значення, яке працює добре і імпорту даних, якомога швидше.

 

Якщо це не допоможе, і файл csv багато стовпців, може допомогти імпортувати стовпців даних "x" за один раз. Наприклад, якщо до набору даних, як 5000 стовпці, можна імпортувати дані 50 стовпці в той час, запишіть новий файл XDF 50 стовпці даних та додавання до цього існуючого файлу в XDF.

Ось деякі зразок R код, щоб зробити це:

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


Потрібна додаткова довідка?

Отримуйте нові функції раніше за інших
Приєднатися до Microsoft оцінювачів

Ця інформація корисна?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?

Дякуємо за відгук!

×