1

R出力テーブルをWordファイルにエクスポートしようとしています。ReporteRsこれを行うためにパッケージを使用しています。出力をキャプチャして段落に渡します。このアプローチでは、整頓された出力が歪んでしまい、コンソールに表示されたときやテキスト ファイルに保存されたときのように見栄えがよくありません。出力をそのままWordファイルに渡すにはどうすればよいですか? 前もって感謝します。

    data("cars2")
    mydoc = docx(title = "Summary")
    library(gmodels)
    aal<-capture.output(CrossTable(cars2$Country, cars2$Type, digits=2, chisq=T))
    #capture.output(CrossTable(cars2$Country, cars2$Type, digits=2, chisq=T, format="SPSS"), file="tests.txt")
    mydoc<-addParagraph( mydoc, aal)
    writeDoc( mydoc, file = "Summary.docx")
4

1 に答える 1

2

モノスペース フォントを使用する必要があります (R コンソール出力はモノスペース フォントを使用しているため)。

library(gmodels)
data(infert, package = "datasets")
xx=capture.output(CrossTable(infert$education, infert$induced, expected = TRUE, format="SPSS"))

解決策 1:モノスペース フォントを使用している既存のスタイル (テンプレートから) を使用する (つまりrRawOutput、既定のテンプレートで)

library( ReporteRs )
mydoc <- docx(title = "Summary")
mydoc <- addParagraph( mydoc, xx, stylename = "rRawOutput" )
writeDoc( mydoc, file = "Summary.docx")

解決策 2:関数を使用potして、指定されたモノスペース フォントのテキストを作成する

library( ReporteRs )    
mydoc <- docx(title = "Summary")
mypot <- pot( paste(xx, collapse = "\n"), 
      format = textProperties(font.family = "Courier New", font.size = 9) )
mydoc <- addParagraph( mydoc, mypot,  par.properties = parLeft() )
writeDoc( mydoc, file = "Summary.docx")

解決策 3 : gmodels を使用していないため、これは実際にはあなたの質問には答えませんが、出力は気に入っています:

library( ReporteRs )
library( rtable )
library( broom )

data(infert, package = "datasets")
myft = freqtable(table(infert$education, infert$induced))
ct = chisq.test(infert$education, infert$induced)

mydoc = docx(title = "Summary")
mydoc = addTitle(mydoc, "Table", level = 2)
mydoc = addFlexTable( mydoc, myft )
mydoc = addTitle(mydoc, "Chi-squared Test", level = 2)
mydoc = addFlexTable( mydoc, vanilla.table( tidy(ct) ) )
writeDoc( mydoc, file = "Summary.docx")
于 2015-06-04T15:30:20.160 に答える