1

何度も私はこれに足を踏み入れます:

私はすでに大きな 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 で初期化できます。

ありがとう

4

1 に答える 1