RからExcelに書き込むときのjava.lang.OutOfMemoryErrorの処理
このxlsxパッケージを使用して、RからExcelスプレッドシートを読み書きできます。残念ながら、中程度の大きさのスプレッドシートでjava.lang.OutOfMemoryErrorも発生する可能性があります。特に、 .jcall( "RJavaTools"、 "Ljava / lang / Object;"、 "invokeMethod"、cl、: java.lang.OutOfMemoryError:Javaヒープスペースの エラー .jcall( "RJavaTools"、 "Ljava / lang / Object;"、 "newInstance"、。jfindClass(class)、: java.lang.OutOfMemoryErrorのエラー:GCオーバーヘッド制限を超えました (他の関連する例外も可能ですが、まれです。) スプレッドシートを読むときのこのエラーに関して、同様の質問がありました。 大きなxlsxファイルをRにインポートしますか? CSVよりもデータストレージメディアとしてExcelスプレッドシートを使用する主な利点は、同じファイルに複数のシートを保存できることです。そこで、ここでは、データフレームのリストをワークシートごとに1つのデータフレームと見なします。このサンプルデータセットには40個のデータフレームが含まれ、各フレームには最大200k行の2つの列があります。問題があることが十分に大きいように設計されていますが、変更することによってサイズを変更することができますn_sheetsし、n_rows。 library(xlsx) set.seed(19790801) n_sheets <- 40 the_data <- replicate( n_sheets, { n_rows <- sample(2e5, 1) data.frame( x = runif(n_rows), y = sample(letters, n_rows, replace = TRUE) ) …