我试图使用read.big.matrix从R biganalytics包以类似于大记忆的小片段的方式加载689.4 MB的csv。
小编法典:
library(bigmemory)
library(biganalytics)
x <- read.big.matrix("airline.csv", type="integer", header=TRUE,
backingfile="airline.bin",
descriptorfile="airline.desc",
extraCols="Age")根据42-的注释,我使用命令行cut -d, -f9,11,17,18,23 --complement 2008.csv > 2008cut.csv上的剪切删除了因子变量。
然后,我使用sed sed -i 's/NA/0/g' 2008cut.csv删除数据中的任何NA值,即使使用这些预处理步骤,我也会收到相同的错误。
我的代码:
#This works
x <- read.csv("~/Downloads/2008cut.csv",header=T)
dim(y)
#[1] 7009728 29
length(complete.cases(x))
#[1] 7009728
library(bigmemory)
library(biganalytics)
#This errors out
data <- read.big.matrix("~/Downloads/2008cut.csv",
type="integer", header=TRUE)在尝试运行read.big.matrix时,我会收到以下错误:
Warning: stack imbalance in '.Call', 31 then 32
Warning: stack imbalance in '{', 28 then 29
Warning: stack imbalance in '-', 23 then 24
Warning: stack imbalance in '-', 22 then 23
Warning: stack imbalance in '<-', 20 then 21
Error in big.matrix(nrow = numRows, ncol = createCols, type = type,
dimnames = list(rowNames, :
A big.matrix must have at least one row and one column我发现其他人有这个问题,但他们有混合数据或相似问题,但没有反应。在我搜索的某个时候,邮件列表中的某个人询问用户是否可以运行类似x <- big.matrix(nrow=1000,ncol=10)的程序,以确保bigmemory在一般情况下正常工作。我am能够运行该代码并生成一个big.matrix。
任何指导都将不胜感激!
软件详细信息:
发布于 2016-05-29 14:17:46
对于读取大文件,我建议使用R data.table包中的data.table。
发布于 2019-11-30 11:41:33
使用绝对路径:
absolutePath <- normalizePath("~/Downloads/2008cut.csv")
x <- read.big.matrix(absolutePath, type="integer", header=TRUE,
backingfile="airline.bin",
descriptorfile="airline.desc",
extraCols="Age")https://stackoverflow.com/questions/37510716
复制相似问题