web-dev-qa-db-ja.com

RstudioとKnitrでstargazerを使用する

RStudioを使用して、knitrでstargazer出力を使用するのに苦労しています。たとえば、以下のコードを.Rmdファイルに貼り付け、[HTMLのニット]をクリックします。 [と]の間の最初のブロックは、方程式としてレンダリングされます。 2番目のブロックはstargazerからです。コードのままです。 2番目のブロック(lessおよび[]]をSweaveファイルに貼り付け、[PDFとしてコンパイル]をクリックすると、コードはテーブルとしてレンダリングされます。 MikTexをインストールし、Stargazerのバージョン3を使用しています。

答え stargazerまたはxableテーブルをknitrドキュメントに挿入 は、PDFのコンパイルをクリックすると、Sweaveファイル(Rnw)で機能します。 Rmdファイルでは、Knit HTMLをクリックしてもtexがレンダリングされません。

Stargazerの出力をRmdファイルに入れて、Knit HTMLがlatexコードをテーブルに変換する方法を教えてください。 (私はLatexを使い始めたばかりで、どのコードを削除できるかわからないので、長いセグメントをお詫びします。)

\[
\begin{aligned}
\dot{x} & = \sigma(y-x) \\
\dot{y} & = \rho x - y - xz \\
\dot{z} & = -\beta z + xy
\end{aligned}
\]

\[
\documentclass{article}

\begin{document}


% Table created by StarGazer v.3.0.1 by Marek Hlavac, Harvard University. E-mail: hlavac at fas.harvard.edu
% Date and time: Sun, Feb 03, 2013 - 11:34:52 AM
\begin{table}[htb] \centering 
  \caption{} 
  \label{} 
\footnotesize 

\begin{tabular}{@{\extracolsep{5pt}}lc} 
\\[-1.8ex]\hline 
\hline \\[-1.8ex] 
 & \multicolumn{1}{c}{\textit{Dependent variable:}} \\ 
\cline{2-2} 
\\[-1.8ex] & Rate \\ 
\hline \\[-1.8ex] 
 pole & $0.071^{***}$ \\ 
  & $(0.020)$ \\ 
  & \\ 
 post & $0.095^{***}$ \\ 
  & $(0.019)$ \\ 
  & \\ 
 Constant & $-5.784^{***}$ \\ 
  & $(1.667)$ \\ 
  & \\ 
\hline \\[-1.8ex] 
Observations & $46$ \\ 
Residual Std. Error & $2.378 (df = 43)$ \\ 
\hline 
\hline \\[-1.8ex] 
\textit{Note:}  & \multicolumn{1}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\ 
\normalsize 
\end{tabular} 
\end{table} 

\end{document}
\]
15
Isaiah

トピックが少し古くなっているので、手元の問題はkgaでstargazerを使用することであり、それ自体の変換ではないと仮定しますstargazerオブジェクトをHTMLに変換します。

私はスターゲイザーの熱心なファンとして、次のワークフローを考え出しました。

  1. コードを.Rmdファイルに記述します。
  2. .mdに編み込みます。 Stargazerテーブルは、結果のマークダウンファイルにLaTeXコードとして残ります。
  3. pandoc を使用して、マークダウンファイルをPDFに変換します。 PandocはLaTeXコードを適切なテーブルに変換します。あるいは、knitrプラグインでLyXを使用して、スターゲイザーテーブルをPDF形式で出力することもできます。

MS Wordでスターゲイザーテーブルが必要な場合、私が見つけた最良の方法は LaTeX2RTF を使用することです。最上部のセルは少し歪んでいますが、それを修正するには、エラーのある空のセルを削除します。それ以外の場合、テーブルは保持され、Wordに貼り付けたりインポートしたりできます。

これら2つの戦略は、LaTeXの外でstargazerを使用するのに役立ちます。それが役に立てば幸い。

11
Maxim.K

次のコードを使用すると、機能するバージョンが得られます

```{r, results='asis'}
stargazer(model)
```

PDFに変換する場合、次のコードはstargazer 4.0に対して完全に機能します。

```{r, results='asis'}
stargazer(model, header=FALSE, type='latex')
```
27
Junchen

この質問に戻ります。

sameマークダウンファイルを使用して、RStudioでknitrを使用してhtmlおよびpdf出力を生成します。つまり、RStudioでは、ニットボタンを押して、HTMl出力またはpdf出力を編成するオプションを使用したいと考えています。現時点では、Word/OpenOfficeドキュメントを作成することに大きな関心はありません。

Jake Russの驚くほど便利な stargazer cheatsheet を使用しました。これにより、スターゲイザーのほとんどの機能が実行されます。これはR MArkdownファイルであり、スターゲイザー出力を生成するチャンクにチャンクオプションresults = 'asis'が設定されています。

Stargazerコマンド自体には引数 'type'があります。デフォルトはtype = 'latex'です。Webページの作成を目的としたJake Russのチートシートでは、全体でtype = 'html'が使用されています。

PDFに編み込もうとしても、これはまったく機能しません。テーブルは長いリストとして表示され、フォーマットなしで1行に1つのテーブルセルがあり、フォーマットなしで多くのページを占有します。

RStudio内でNice pdfを作成できるようにするために行うことができる最小の変更は、すべてをグローバルに置き換えることです。

type='html'

type='latex'

(どちらもドキュメントのテキストとstargazerコマンドで発生するため、注意が必要です!)

これでうまくいきます!私が見る限り、pdfはウェブページの忠実な複製であり、まさに私が望んでいるものです。

OpenOfficeドキュメントを編み出そうとする

type='latex'

出力の各テーブルは次のテキストに置き換えられます:-

% Table created by stargazer v.5.2 by Marek Hlavac, Harvard University. E-mail: hlavac at fas.harvard.edu % Date and time: Tue, Sep 01, 2015 - 22:22:29

復元した場合

type='html'

次に、各テーブルがフォーマットされずに、ページの横に1行に1つのセルが書き込まれます。

5
astaines

前の回答に加えて、おそらくより簡単な解決策として、stargazerがhtmlコードでテーブルを出力して、Rmdファイルがhtmlに編成されたときに、texコードではなくテーブルが作成されるようにすることができます。 _type = 'html'_を設定することで、stargazer関数が直接htmlにエクスポートできるようになったと思います。

したがって、たとえば、モデルが_lm1_に適合している場合、Rmdファイルで次のコードを使用します。

stargazer(lm1, type = 'html')

これは、最終出力をhtmlまたはpdfのどちらにする場合でも機能します。

4
carnust