4

xlsxパッケージを使用して、名前付きデータフレームのリストをxlsxファイルに保存しようとしています。リスト内のデータフレームはすべて名前が付けられていますが、リストの名前のない要素でも機能する場合は便利です。

これが私が書いた関数です:

toXLS <- function(myList,myFile) {

    #Initialize output workbook
    require(xlsx)
    wb <- createWorkbook()
    for (name in names(myList)) {
        createSheet(wb, sheetName=name)
    }
    
    #Write blank workbook to file
    saveWorkbook(wb, myFile)

    #Write output data to saved workbook
    for (name in names(myList)) {
        write.xlsx(myList[[name]], myFile, sheetName=name)
    }
}

myList <- list(a=data.frame(1,2,3),b=data.frame('a','b','c'),d=data.frame('01-01-1900'))
toXLS(myList,paste(getwd(),'/output.xlsx',sep=''))

正常に動作しますが、呼び出すたびに出力ブックが上書きされますwrite.xlsx。data.frameをシートとしてブックに挿入するにはどうすればよいですか?

私はxlsxパッケージと結婚していませんが、最小限のセットアップで、Excelファイルへの優れたインターフェイスを提供しているようです。私は他の良い選択肢も受け入れています。

4

2 に答える 2

13

最初に Excel ファイルを作成します。

wb <- createWorkbook()
saveWorkbook(wb, 'output.xlsx')

次に、各ワークブックを追加します。

lapply(names(myList), function(x) write.xlsx(myList[[x]], 'output.xlsx', sheetName=x, append=TRUE))
于 2011-10-25T15:34:37.517 に答える
3

append = TRUEへの呼び出しで使用しwrite.xlsxます。

于 2011-10-25T15:30:52.187 に答える