2
私の同僚は、(メモリの点で)どれだけのオーバーヘッドがR data.frame
にあるか興味があります。彼は次の例を使用します:R data.frame memory usage - 特にサブセット化後
n = 1e6
df = data.frame(v1=rnorm(n), v2 = rnorm(n))
object.size(df)-sum(sapply(df, object.size)) # some overhead in the df
#>696 bytes
すべてがうまくいいです。さて、このdata.frame
idx = as.logical(rbinom(n, size = 1, prob = 0.99))
df0 = df[idx,]
のランダムなサブセットを任せるので - df0
におけるオーバーヘッドはdf
右と同じでなければなりませんか?
object.size(df0) - sum(sapply(df0, object.size))
#> 3961136 bytes
Grinch "Wrongo!"を引用してください。
object.size(df0) - sum(sapply(df0, object.size)) - object.size(idx[idx])
その後、私はほとんど右である648 bytes
を得る:私はこれを変更した場合ので、サブセット変数に関する情報がここに格納されているように私には思えます。しかし、私はこの情報がどこに保存されているのかわかりません。