นี่คือข้อผิดพลาดในการจัดสรรหน่วยความจำทั่วไป ปัญหาปกติคือ ว่า Revolution R กำลังพยายามอ่านแถวมากเกินไปในครั้งเดียวจากแฟ้มข้อมูลของคุณเพื่อประมวลผลข้อมูลในหน่วยความจำสำหรับตัวเดียวกลุ่มข้อมูลกลุ่มก่อนอื่น ให้ลองต่อไปนี้ เมื่อต้องการแก้ไขปัญหา:ตั้งค่าขนาดเล็กสำหรับอาร์กิวเมนต์ 'rowsPerRead' ในคำสั่ง rxImport() ของคุณ ลองค่า '10000' หรือน้อยกว่า คุณอาจต้องลองตั้งค่าที่แตกต่างกันสำหรับข้อมูลนี้เพื่อค้นหาค่าที่ทำงานด้วย และนำเข้าข้อมูลเร็วที่สุด ถ้าวิธีนี้ไม่ช่วย และแฟ้ม csv ของคุณมีคอลัมน์มากมาย สามารถช่วยให้การนำเข้าคอลัมน์ข้อมูล 'x' ในแต่ละครั้ง ตัวอย่างเช่น ถ้าชุดข้อมูลเป็นคอลัมน์ 5000 คุณอาจต้องการนำเข้าข้อมูลสำหรับคอลัมน์ 50 ในแต่ละครั้ง และเขียนข้อมูลสำหรับคอลัมน์ 50 ไปยังไฟล์ XDF ใหม่ และผนวกไปยังแฟ้ม 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") }