很多时候我走进这个:
我已经有一个大的 ff 对象(由矩阵/数组表示),然后我想向它添加一个新的列/行,因为我有一些更新的数据并且不想从头开始创建一个新的大对象(这可能非常耗时)。
我正在尝试这样的事情:
t <- cbind(a = c(1,2,3,4,5), b=c(6,7,8,9,10))
ff.t <- ff(t, dim=dim(t))
# Adding new column works fine
dim(ff.t) <- c(5, 3)
ff (open) double length=15 (15) dim=c(5,3) dimorder=c(1,2)
[,1] [,2] [,3]
[1,] 1 6 0
[2,] 2 7 0
[3,] 3 8 0
[4,] 4 9 0
[5,] 5 10 0
# Adding new row gives error
dim(ff.t) <- c(6, 4)
dim(ff.t) <- c(6, 4)
dim<-.ff
(*tmp*
, value = c(6, 4)) 中的错误:您只能更改最快旋转的 dim 1:dim<-
(*tmp*
, value = c(6, 4)) 2 :dim<-.ff
(*tmp*
, value = c(6, 4)) 3: stop("你只能改变最快的旋转dim")
这是什么意思 ?有没有办法解决这个问题并将列/行添加到 ff 对象(自然也增加文件大小)?如果您无法避免创建一个新对象,那么最好的方法是什么?新列可以用 0 或 NA 初始化。
谢谢