3

write.csvファイルのファイル サイズ(または などの他のエクスポート コマンド) を (おそらくおおよそ) 推定する R のメソッドはありますdev.copy2pdfか?

4

1 に答える 1

2

そのようなことは聞いたことがありませんが、少なくとも csv のサイズを推定するためのアイデアは次のとおりです。

csvSizeEst <- function(obj, frac=0.01) {
    tf <- tempfile()
    on.exit(unlink(tf))
    n <- ceiling(nrow(obj) * frac)
    write.csv(obj[seq_len(n),], file=tf)
    1/frac * file.info(tf)$size
}

x <- data.frame(replicate(5, rnorm(500)))

## Estimated file size, based on a 1% sample (the default sample size)
csvSizeEst(x)
# [1] 50700

## Set fraction of file to 1 to get actual file size
csvSizeEst(x, frac=1)
# [1] 48904

また、R の data.frame サイズ (で報告されているobject.size) と .csv ファイルとして書き出されたときの観察された関係を一桁程度把握するには、次のことを試してください。(+/- 代表的なサンプルとして、 datasetsパッケージに同梱されているすべての data.frames をここで調べます。)

oo <- ls("package:datasets")
dfs <- oo[sapply(oo, function(X) is.data.frame(get(X)))]
r <- sapply(dfs, function(X) {
         X <- get(X)
         csvSizeEst(X,1)/object.size(X)
     })
hist(r, breaks=20, col="lightgrey", xlim=c(0,1.5),
     main="Ratio of size-on-disk to object.size in R")

ここに画像の説明を入力

于 2013-05-30T23:46:10.777 に答える