3

私は RStudio IDE (v 0.99.323) を使用しており、MSWord 出力を生成するためにrmarkdownモデル テーブルを生成しようとしています。簡単なことを見逃したのではないかと思います。knitrhtmlreg

以下に追加された rmarkdown チャンクは、美しい表を含む別の単語ファイル 'mytable.doc' を作成します。しかし、RStudio IDE で [Knit Word] をクリックすると、行 htmlreg(m) が MSWord ドキュメント内の html テーブル コードを生成します。私は何を間違っていますか?

どうもありがとう!--デール

```{r, results='asis'}
library(MASS)
library(texreg)
data(menarche)
m <- glm(cbind(Menarche, Total-Menarche) ~ Age, family=binomial(logit), data=menarche)

htmlreg(m, file = "mytable.doc", caption="Age at Menarche", inline.css = TRUE, doctype = TRUE, html.tag = TRUE,                                               head.tag = TRUE, body.tag = TRUE, ci.force=TRUE, ci.test=NULL,bold=TRUE)

htmlreg(m)
```
4

4 に答える 4

2

最新の texreg バージョン 1.34.2 を試していただけますか (こちらまたはこの投稿の .tar.gz ファイルを参照してください)。

RStudio の開発者によると、問題は、インデントされた HTML コードで動作しない新しいバージョンの Pandoc に切り替えたことです。より正確には、Markdown 表記のように、4 つのスペースでインデントされたテキストをコード ブロックとして解釈します。問題の説明については、こちらを参照してください。

そのため、新しいtexregバージョンではindentation = ""htmlreg関数で呼び出される新しい引数があります。デフォルトではインデントをオフにします。を使用indentation = " "すると、以前の動作が復元されます。

編集1:また、引数を使用し、左側に配置し、重要な星を正しく表示するようにしてcenter = FALSEくださいstar.symbol = "\\*"。アスタリスクは、マークダウン構文の一部として解釈されるため、エスケープする必要があります。

```{r, results = 'asis'}
htmlreg(m, center = FALSE, star.symbol = "\\*")
```{r}

PDF ノートブック (内部で LaTeX を使用) の場合は、次を使用しますtexreg

```{r, results = 'asis'}
texreg(m, float.pos = "h")
```{r}

編集 2 : のヘルプ ページhtmlreg、特に の引数htmlregが記述されている部分もお読みください。これらには、HTML ドキュメントを作成するために RStudio、Pandoc、knitr で使用される Markdown と可能な限り互換性のあるドキュメントを作成する方法に関するいくつかの有用な情報が含まれています。特に、本格的な HTML ドキュメントを作成するつもりがない場合は、引数inline.css = TRUEdoctype = FALSEhtml.tag = FALSE、を使用してください。head.tag = FALSEbody.tag = FALSE

MS Wordについて: 質問の下のコメントで、HTML または Word 文書を作成したいとおっしゃいました。このhtmlreg関数は、(関数の名前が示すように) Word ファイルではなく、HTML ファイルを作成することを目的としています。ただし、Word は HTML コードを解釈できるため、これらの HTML ファイルを MS Word にロードすることは可能です。ただし、knitr はバイナリ Word ドキュメントを作成します。私の知る限り、これらのバイナリ Word ドキュメントに HTML コードを直接埋め込むことはできません (ただし、knitr が内部で Word ファイルを作成する方法がわからないため、間違っている可能性があります)。ただし、HTML ノートブックを作成してディスクに保存し、MS Word で開くことはできます。

于 2015-03-13T18:01:05.270 に答える
0

これは、マークダウンの問題pandoc、またはhtmlreg正しいインデントを作成しないことの問題です。不可解なため、これがバグなのか機能なのか完全にはわかりません。

http://rmarkdown.rstudio.com/authoring_pandoc_markdown.html#raw-html

.md次のように、単純な(ではない.rmd) ファイルを試してください。

<h1>Works</h1>

<table border="8">
  <tr>
  <td>111</td>
  <td>222</td>
  <td>444</td>
  </tr>
</table>

<h1>Not what you want</h1>

<table border="8">
  <tr>
    <td>111</td>
    <td>222</td>
    <td>444</td>
  </tr>
</table>

<h1>Works too (not in screenshot)</h1>

<table border="8">
  <tr><td>111</td><td>222</td><td>444</td></tr>
</table>

生のhtmlの出力

于 2015-03-13T15:55:48.850 に答える