ひろがりモンステラ

家のモンステラが凄いことになってる社内SEの雑記ブログです。

R ワークスペース上で定義しているオブジェクトの合計サイズを確認する

Rで開発を行なっていたら、Environment領域に写る変数や関数といったオブジェクトが次々と増え、rm()で削除しないまま作業をしてると、メモリが逼迫しクラッシュするケースがある。特に、DBから抜いたデータをデータフレーム化して加工のたびにそのまま変数に残したりしていると、こういった事がしばしば発生する。

上述のとおり、rm()を用いて定義したオブジェクトを削除することはできるが、開発するにあたって、最低限必要なものは残さなければいけない。どのオブジェクトがどれだけのサイズになっているか、定義しているオブジェクトの合計はどの程度か、は次のコードで確認できる。

オブジェクトのサイズ確認

print(object.size(df), unit="auto")

オブジェクトの合計サイズ確認

for(obj in ls()){
    if(!exists('total')) total<-0 else total<-total+object.size(get(obj))
}
print(total, unit="auto")

※参考 オブジェクトの削除

rm(df)

はじめてのR: ごく初歩の操作から統計解析の導入まで

はじめてのR: ごく初歩の操作から統計解析の導入まで