使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

这是常规内存分配错误。常见的问题是革命 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 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×