何度も私はこれに足を踏み入れます:
私はすでに大きな 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) ( , 値 = c(6, 4)) のエラー
dim<-.ff
:*tmp*
最も速く回転するディム 1 のみを変更できます:dim<-
(*tmp*
, 値 = c(6, 4)) 2 :dim<-.ff
(*tmp*
, value = c(6, 4)) 3: stop("最も速く回転するディムのみを変更できます")
これは何を意味するのでしょうか ?これを回避し、ff オブジェクトに列/行を追加する方法はありますか (ファイルサイズも自然に増加します)。新しいオブジェクトの作成を避けられない場合、それを行う最善の方法は何ですか? 新しい列は、0 または NA で初期化できます。
ありがとう