2

sink()R出力をExcel/テキストファイルに出力する機能を使用しています。プログラムの出力が大きすぎます。Excel/テキスト出力ファイルの最後にメッセージが見つかりました

[ reached getOption("max.print") -- omitted 5326 rows ] 

また、印刷する大きな出力が複数あります。また、それらを 1 つの Excel ファイルの別々の (異なる) シートに配置したいと考えています。

実際には、出力は行列形式になります。ループの値が増加すると、正方行列の行と列も増加します。append行数と列数が異なるため、関数は機能しません。このエラーを回避するために、同様の行列ifを個別に使用して条件と取引を使用しました。rbindしかし、二重ループによる繰り返しが 5,000 回を超える (そしてメソッドも繰り返される) ため、1000 個のifandrbind条件を記述して、それらを別々のシートやファイルに保存することは不可能です。

4

2 に答える 2

11

csvパッケージを使用したくない場合は、xlsx複数のシートを保存するのは非常に簡単です。

df1 <- data.frame(x=1:100, y=1:100)   # make data
df2 <- data.frame(x=1:1000, y=1:1000) 

library(xlsx)

wb <- createWorkbook()         # create blank workbook
sheet1 <- createSheet(wb, sheetName="mysheet1") # create different sheets
sheet2 <- createSheet(wb, sheetName="mysheet2")
addDataFrame(df1, sheet1)  # add data to the sheets
addDataFrame(df2, sheet2)
saveWorkbook(wb, "mysheets.xlsx")  # write the file with multiple sheets
于 2013-01-12T10:51:21.160 に答える
5

データ フレームを csv ファイルに書き込んで、それを Excel で開くことができますwrite.csv( を使用してドキュメントを読んでください?write.csv)。

## To write a CSV file for input to Excel one might use
x <- data.frame(a = I("a \" quote"), b = pi)
write.table(x, file = "foo.csv", sep = ",", col.names = NA,
            qmethod = "double")
于 2013-01-12T10:30:36.560 に答える