2017-02-12 2 views
1

Simple question: puis-je utiliser texreg dans un démarquage (non LaTex) document Rmarkdown à l'aide knitr?texreg dans Rmarkdown/knitr

Je pensais que je pouvais, mais il semble que je me trompe? Je peux inclure le code LaTex dans les Rmarkdown pour les équations, mais ont sans succès pour les tables avec texreg (au moins lorsque le document restant est écrit en Markdown

Je reçois cette erreur.

pandoc document conversion failed with error 43 

Indépendamment du fait que j'utilise texreg() (pour LatTex), htmlreg() ou screenreg(), je ne suis pas une table décent dans le document PDF tricoté

--- 
title: "Title" 
fontsize: 12pt 
output: 
    pdf_document: 
    latex_engine: xelatex 
--- 

ensuite essayer de développer une table.

```{r Table_with_texreg, results="asis"} 
library(texreg) 
modellist = list(model1, model2, model3, model4, model5) 

texreg(modellist, type = 'un', 
summaries = c('ChiSqM_Value', 'ChiSqM_DF', 'ChiSqM_DF', 'ChiSqM_PValue', 'CFI', 
'RMSEA_Estimate'), single.row=TRUE) 

(Certains des arguments après texreg() sont des commandes pour le paquet MplusAutomation, spécifiant les paramètres (non normalisé) et dont les indices d'ajustement de modèle à utiliser. Ne devrait pas être d'une importance pour la question/post)

Ce code LaTex généré lors du tricotage, ce qui entraîne une erreur coversion 43:.

\begin{tabular}{l c c c c c } 
\hline 
& Model 1 & Model 2 & Model 3 & Model 4 & Model 5 \\ 
\hline 
DISCRIM$<$-AGEA   & $-0.00 \; (0.00)^{***}$ & $-0.01 \; (0.00)^{***}$ & $-0.01 \; (0.00)^{***}$ & $-0.00 \; (0.00)^{***}$ & $-0.01 \; (0.00)^{***}$ \\ 
DISCRIM$<$-GNDR   & $0.05 \; (0.02)^{**}$ & $0.07 \; (0.02)^{***}$ & $0.09 \; (0.02)^{***}$ & $0.03 \; (0.02)^{*}$ & $0.07 \; (0.02)^{***}$ \\ 
DISCRIM$<$-MINORITY  & $0.14 \; (0.04)^{***}$ & $0.17 \; (0.04)^{***}$ & $0.13 \; (0.04)^{***}$ & $0.19 \; (0.04)^{***}$ & $0.19 \; (0.04)^{***}$ \\ 
PDJSEX\_R$<$-AGEA   & $-0.01 \; (0.00)^{***}$ &       &       & $-0.01 \; (0.00)^{***}$ &       \\ 
PDJSEX\_R$<$-GNDR   & $0.38 \; (0.03)^{***}$ &       &       & $0.38 \; (0.03)^{***}$ &       \\ 
PDJSEX\_R$<$-MINORITY  & $0.11 \; (0.04)^{**}$ &       &       & $0.11 \; (0.04)^{**}$ &       \\ 
PDJETN\_R$<$-AGEA   & $-0.00 \; (0.00)^{***}$ &       & $-0.00 \; (0.00)^{***}$ &       &       \\ 
PDJETN\_R$<$-GNDR   & $-0.02 \; (0.02)$  &       & $-0.02 \; (0.02)$  &       &       \\ 
PDJETN\_R$<$-MINORITY  & $0.94 \; (0.08)^{***}$ &       & $0.93 \; (0.08)^{***}$ &       &       \\ 
PREDJ\_R$<$-DISCRIM  & $1.00 \; (0.00)$  & $1.00 \; (0.00)$  & $1.00 \; (0.00)$  & $1.00 \; (0.00)$  & $1.00 \; (0.00)$  \\ 
LKRSP\_R$<$-DISCRIM  & $1.05 \; (0.01)^{***}$ & $1.08 \; (0.01)^{***}$ & $1.08 \; (0.01)^{***}$ & $1.08 \; (0.01)^{***}$ &       \\ 
TRTBD\_R$<$-DISCRIM  & $1.02 \; (0.01)^{***}$ & $1.05 \; (0.01)^{***}$ & $1.05 \; (0.01)^{***}$ & $1.05 \; (0.01)^{***}$ &       \\ 
PDJSEX\_R$<$-$>$DISCRIM & $0.74 \; (0.02)^{***}$ &       &       & $0.76 \; (0.02)^{***}$ &       \\ 
PDJETN\_R$<$-$>$DISCRIM & $0.62 \; (0.02)^{***}$ &       & $0.66 \; (0.02)^{***}$ &       &       \\ 
PDJETN\_R$<$-$>$PDJSEX\_R & $0.78 \; (0.02)^{***}$ &       &       &       &       \\ 
PREDJ_R$1<-Thresholds  & $0.19 \; (0.10)^{*}$ & $0.19 \; (0.10)^{*}$ & $0.18 \; (0.10)$  & $0.18 \; (0.10)$  & $0.18 \; (0.10)$  \\ 
PREDJ_R$2<-Thresholds  & $0.71 \; (0.09)^{***}$ & $0.71 \; (0.09)^{***}$ & $0.70 \; (0.09)^{***}$ & $0.70 \; (0.09)^{***}$ & $0.70 \; (0.09)^{***}$ \\ 
LKRSP_R$1<-Thresholds  & $0.14 \; (0.07)$  & $0.13 \; (0.07)$  & $0.15 \; (0.07)^{*}$ & $0.14 \; (0.07)$  & $0.14 \; (0.07)$  \\ 
LKRSP_R$2<-Thresholds  & $0.72 \; (0.07)^{***}$ & $0.72 \; (0.07)^{***}$ & $0.73 \; (0.07)^{***}$ & $0.72 \; (0.07)^{***}$ & $0.72 \; (0.07)^{***}$ \\ 
TRTBD_R$1<-Thresholds  & $0.51 \; (0.06)^{***}$ & $0.51 \; (0.06)^{***}$ & $0.50 \; (0.06)^{***}$ & $0.51 \; (0.06)^{***}$ & $0.50 \; (0.06)^{***}$ \\ 
TRTBD_R$2<-Thresholds  & $1.11 \; (0.07)^{***}$ & $1.11 \; (0.07)^{***}$ & $1.12 \; (0.07)^{***}$ & $1.11 \; (0.07)^{***}$ & $1.11 \; (0.07)^{***}$ \\ 
PDJSEX_R$1<-Thresholds & $0.86 \; (0.06)^{***}$ & $0.86 \; (0.06)^{***}$ & $0.87 \; (0.06)^{***}$ & $0.86 \; (0.06)^{***}$ & $0.86 \; (0.06)^{***}$ \\ 
PDJSEX_R$2<-Thresholds & $1.44 \; (0.06)^{***}$ & $1.44 \; (0.06)^{***}$ & $1.44 \; (0.06)^{***}$ & $1.44 \; (0.06)^{***}$ & $1.44 \; (0.06)^{***}$ \\ 
PDJETN_R$1<-Thresholds & $0.80 \; (0.07)^{***}$ & $0.79 \; (0.07)^{***}$ & $0.80 \; (0.07)^{***}$ & $0.79 \; (0.07)^{***}$ & $0.80 \; (0.07)^{***}$ \\ 
PDJETN_R$2<-Thresholds & $1.29 \; (0.09)^{***}$ & $1.29 \; (0.09)^{***}$ & $1.29 \; (0.09)^{***}$ & $1.29 \; (0.09)^{***}$ & $1.29 \; (0.09)^{***}$ \\ 
DISCRIM$<$-$>$DISCRIM  & $0.79 \; (0.02)^{***}$ & $0.74 \; (0.02)^{***}$ & $0.74 \; (0.02)^{***}$ & $0.75 \; (0.02)^{***}$ & $0.84 \; (0.01)^{***}$ \\ 
PDJSEX\_R$<$-DISCRIM  &       & $1.03 \; (0.01)^{***}$ & $1.03 \; (0.01)^{***}$ &       & $0.98 \; (0.01)^{***}$ \\ 
PDJETN\_R$<$-DISCRIM  &       & $0.90 \; (0.01)^{***}$ &       & $0.90 \; (0.01)^{***}$ & $0.87 \; (0.01)^{***}$ \\ 
LKRSP\_R$<$-AGEA   &       &       &       &       & $-0.01 \; (0.00)^{***}$ \\ 
LKRSP\_R$<$-GNDR   &       &       &       &       & $0.06 \; (0.02)^{***}$ \\ 
LKRSP\_R$<$-MINORITY  &       &       &       &       & $0.14 \; (0.04)^{***}$ \\ 
TRTBD\_R$<$-AGEA   &       &       &       &       & $-0.00 \; (0.00)^{**}$ \\ 
TRTBD\_R$<$-GNDR   &       &       &       &       & $0.06 \; (0.02)^{**}$ \\ 
TRTBD\_R$<$-MINORITY  &       &       &       &       & $0.20 \; (0.05)^{***}$ \\ 
LKRSP\_R$<$-$>$DISCRIM &       &       &       &       & $0.74 \; (0.02)^{***}$ \\ 
TRTBD\_R$<$-$>$DISCRIM &       &       &       &       & $0.72 \; (0.02)^{***}$ \\ 
TRTBD\_R$<$-$>$LKRSP\_R &       &       &       &       & $0.88 \; (0.01)^{***}$ \\ 
\hline 
ChiSqM_Value    & 331.41     & 808.73     & 776.77     & 568.88     & 648.83     \\ 
ChiSqM_DF     & 10      & 17      & 14      & 14      & 10      \\ 
ChiSqM_PValue    & 0.00     & 0.00     & 0.00     & 0.00     & 0.00     \\ 
CFI      & 0.97     & 0.93     & 0.94     & 0.95     & 0.95     \\ 
RMSEA_Estimate    & 0.02     & 0.03     & 0.03     & 0.03     & 0.03     \\ 
\hline 
\multicolumn{6}{l}{\scriptsize{$^{***}p<0.001$, $^{**}p<0.01$, $^*p<0.05$}} 
\end{tabular} 

post-scriptum Tricoter en HTML (pas PDF) et en utilisant htmlreg (pas texreg) semble fonctionner correctement. J'aurais préféré utiliser PDF, cependant.

Répondre

1

Vous écrivez que vous souhaitez générer un PDF, mais pas utiliser LaTeX. Es-tu sûr de ça? Je ne sais pas comment faire cela, mais voici deux solutions pour générer une) sortie HTML et b) des fichiers PDF avec LATEX, à la fois à l'aide texreg:

Solution 1 (pour la sortie HTML):

--- 
output: html_document 
--- 

```{r setup, include=FALSE} 
knitr::opts_chunk$set(echo = TRUE) 
``` 

```{r, echo = FALSE, message = FALSE} 
ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) 
trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) 
group <- gl(2, 10, 20, labels = c("Ctl","Trt")) 
weight <- c(ctl, trt) 
lm.D9 <- lm(weight ~ group) 

library("texreg") 
``` 

Some equation: 
$$a + b = 2$$ 

Table follows: 
```{r, results = 'asis', echo = FALSE} 
htmlreg(lm.D9, star.symbol = "\\*", doctype = FALSE, center = FALSE, caption = "") 
``` 

Voici la sortie:

HTML output

Solution 2 (pour la sortie PDF):

--- 
output: pdf_document 
--- 

```{r setup, include=FALSE} 
knitr::opts_chunk$set(echo = TRUE) 
``` 

```{r, echo = FALSE, message = FALSE} 
ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) 
trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) 
group <- gl(2, 10, 20, labels = c("Ctl","Trt")) 
weight <- c(ctl, trt) 
lm.D9 <- lm(weight ~ group) 

library("texreg") 
``` 

Some equation: 
$$a + b = 2$$ 

Table follows: 
```{r, results = 'asis', echo = FALSE} 
texreg(lm.D9, table = FALSE, use.packages = FALSE) 
``` 

est ici la sortie:

PDF output

+0

Merci pour le commentaire, et merci pour le développement d'un grand paquet! Peut-être que je dois utiliser LaTex. Après avoir appris les bases de R, je trouve que l'apprentissage de LaTex est une courbe d'apprentissage assez raide. (Générer PDF n'est pas un problème dans Rmarkdown à moins que j'ajoute la table.) Merci pour le code! – cibr

+0

Bien sûr! Content que vous le trouviez utile! Pour être honnête, cependant, je ne vois pas pourquoi vous pourriez penser que la deuxième solution a une courbe d'apprentissage plus raide. Vous écrivez toujours le code Markdown, il est juste converti en interne LaTeX parce que vous voulez générer un PDF. Comme vous pouvez le voir, le code pour les deux solutions est très similaire. –

+0

Merci, votre code fonctionne bien lorsque vous tricotez en PDF, mais pas le mien ... J'ai ajouté le code LaTex généré par texreg, ce code entraîne une erreur de conversion. – cibr