2017-10-11 18 views
2

私のdata.frameをワークシートに書き込むときに、Excelのテーブルのように合計行を追加したいとします。ここ は(openxlsxを使用して)私の現在のコードです:R - Excelの出力に合計行を追加する

writeDataTable(wb=WB, sheet="Data", x=X, withFilter=F, bandedRows=F, firstColumn=T) 

Xは8つの文字変数と1つの数値変数とdata.frameが含まれています。したがって、合計行には数値行の合計のみが含まれている必要があります(手動で合計行を追加するのではなく、ワークブックオブジェクトにテーブルを書き込んでいるときにfirstColumnで行ったようにExcelの行機能を追加すると最適です) 。

私はStackOverflowの中と公式openxslxのドキュメントが、無駄に両方の解決策を探しました。 openxlsxを使用してソリューションを提案してください。

EDIT:あなたのデータはDFと呼ばdata.frameに格納されていると仮定すると

A B C D E F G H I 
    a b s r t i s 5 j 
    f d t y d r s 9 s 
    w s y s u c k 8 f 
    na na na na na na na 22 na 
+0

を使用してdfに追加を使用して行があからさま最初downvotingずに質問への改善を提案してください。 – Arani

答えて

1

:総行後

A B C D E F G H I 
a b s r t i s 5 j 
f d t y d r s 9 s 
w s y s u c k 8 f 

は、データサンプルの追加

df <- read.table(text = 
    "A B C D E F G H I 
    a b s r t i s 5 j 
    f d t y d r s 9 s 
    w s y s u c k 8 f", 
       header = TRUE, 
       stringsAsFactors = FALSE) 

lapply

totals <- lapply(df, function(col) { 
    ifelse(!any(!is.numeric(col)), sum(col), NA) 
}) 

rbind()

df <- rbind(df, totals) 

head(df) 
    A B C D E F G H I 
1 a b s r t i s 5 j 
2 f d t y d r s 9 s 
3 w s y s u c k 8 f 
4 <NA> <NA> <NA> <NA> <NA> <NA> <NA> 22 <NA> 
関連する問題