R markdown running tex file error regarding toprule - r

I have the following chunk of codes in markdown file
---
title: "Ag Productivity"
author: "Abdullah Mamun"
date: '2022-06-23'
output:
pdf_document:
includes:
in_header: "table1.tex"
---
and in .tex file I have this
\begin{document}
\begin{table}
\centering
\begin{tabular}[t]{lccc}
\toprule
& Model 1 & Model 2 & Model 3\\
\midrule
lag(YGrowth, 1) & \num{1.000}(\num{0.000})*** & \num{-0.347}(\num{0.030})*** & \num{-0.436}(\num{0.068})***\\
lag(Inputs, 1) & \num{0.000}(\num{0.000}) & \num{-0.100}(\num{0.127}) & \num{2.321}(\num{1.078})*\\
lag(GDPGR, 1) & \num{0.000}(\num{0.000})* & \num{0.270}(\num{0.069})*** & \num{0.341}(\num{0.531})\\
lag(lnPDENS, 1) & \num{0.000}(\num{0.000}) & \num{-0.124}(\num{0.031})*** & \num{0.158}(\num{0.076})*\\
lag(GRRAT, 1) & \num{0.000}(\num{0.000}) & \num{-0.280}(\num{0.095})** & \num{0.858}(\num{0.378})*\\
lag(EMPGR, 1) & \num{0.000}(\num{0.000})* & \num{0.317}(\num{0.138})* & \num{0.708}(\num{1.571})\\
\midrule
Num.Obs. & \num{1070} & \num{1025} & \\
R2 & \num{1.000} & \num{0.141} & \\
R2 Adj. & \num{1.000} & \num{0.076} & \\
AIC & \num{-79950.8} & \num{-2904.1} & \\
BIC & \num{-79781.6} & \num{-2911.2} & \\
RMSE & \num{0.00} & \num{0.06} & \\
\bottomrule
\end{tabular}
\end{table}
I get this error message:
! Undefined control sequence. l.106 \toprule
Appreciate your help.

the table does not belong in the header. You should move it to the body of the document. Even though you try to force the body to start early with \begin{document}, this won't work because rmarkdown will include preamble-only stuff after this
if you want to use special macros like \toprule or \num you must load the package which provide them
your table is missing a floating specifier that tells latex where the table can be placed, I suggest [htbp
rmarkdown file:
---
title: "Ag Productivity"
author: "Abdullah Mamun"
date: '2022-06-23'
output:
pdf_document:
keep_tex: true
header-includes:
- \usepackage{booktabs}
- \usepackage{siunitx}
---
\include{table1}
table1.tex:
\begin{table}[htbp]
\centering
\begin{tabular}[t]{lccc}
\toprule
& Model 1 & Model 2 & Model 3\\
\midrule
lag(YGrowth, 1) & \num{1.000}(\num{0.000})*** & \num{-0.347}(\num{0.030})*** & \num{-0.436}(\num{0.068})***\\
lag(Inputs, 1) & \num{0.000}(\num{0.000}) & \num{-0.100}(\num{0.127}) & \num{2.321}(\num{1.078})*\\
lag(GDPGR, 1) & \num{0.000}(\num{0.000})* & \num{0.270}(\num{0.069})*** & \num{0.341}(\num{0.531})\\
lag(lnPDENS, 1) & \num{0.000}(\num{0.000}) & \num{-0.124}(\num{0.031})*** & \num{0.158}(\num{0.076})*\\
lag(GRRAT, 1) & \num{0.000}(\num{0.000}) & \num{-0.280}(\num{0.095})** & \num{0.858}(\num{0.378})*\\
lag(EMPGR, 1) & \num{0.000}(\num{0.000})* & \num{0.317}(\num{0.138})* & \num{0.708}(\num{1.571})\\
\midrule
Num.Obs. & \num{1070} & \num{1025} & \\
R2 & \num{1.000} & \num{0.141} & \\
R2 Adj. & \num{1.000} & \num{0.076} & \\
AIC & \num{-79950.8} & \num{-2904.1} & \\
BIC & \num{-79781.6} & \num{-2911.2} & \\
RMSE & \num{0.00} & \num{0.06} & \\
\bottomrule
\end{tabular}
\end{table}

Related

Equation in a table in R

I want a table like this and make it as a kable so I can make footnote:
but I didn't manage so I made a table latex like this :
$$
\begin{array}{lccccc}
\hline
{Copula} & {Distribution} & {Parameter range} & {Complete dependence} & {Independence} \\
\hline
{Normal} & {C_{Normal} (u_1,u_2,\rho)=\Phi_{\rho}(\Phi^{-1}(u_1),\Phi^{-1}(u_2))} & {\rho\in(-1,1)} & {\rho=1,or -1} & {\rho=0} \\
\hline
{Student-t} & {C_t (u_1,u_2;\rho,d)=t_{\rho,d}(t^{-1}_d(u_1),t^{-1}_d(u_2))} & {\rho\in(-1,1)} & {\rho=1,or -1} & {\rho=0} \\
\hline
{Gumbel} & {C_{Gumbel} (u_1,u_2,\beta)=exp\{-[(-ln(u_1))^{\frac{1}{\beta}}+(-ln(u_2))^{\frac{1}{\beta}}]^{\beta}\}} & {\beta\in(0,1)} & {\beta=0} & {\beta=1} \\
\hline
{RG} & {C_{RG} (u_1,u_2,\alpha)=u_1+u_2-1+C_{Gumbel} (1-u_1,1-u_2,\alpha)} & {\alpha\in[1,\infty)} & {\alpha\rightarrow\infty} & {\alpha=1} \\
\hline
{Clayton} & {C_{Clayton} (u_1,u_2,\theta)=max((u_1^{-\theta}+u_2^{-\theta}-1)^{-\frac{1}{\theta}},0)} & {\theta\in[-1,\infty)\{0\}} & {\theta\rightarrow\infty} & {\theta \rightarrow 0} \\
\hline
{RC} & {C_{RC} (u_1,u_2,\alpha)=u_1+u_2-1+C_{Clayton} (1-u_1,1-u_2,\theta)} & {\theta\in[-1,\infty)\{0\}} & {\theta\rightarrow\infty} & {\theta \rightarrow 0} \\
\hline
\end{array}
$$
and it looks like this:
It's not bad until I found it's not easy to add footnotes since I used to make kable.
Is there any way I can add a footnote for it? or how can I convert it into a table so I can use kable to display it?

Using texreg to print mean of dependent variable instead of R squared in R

I have some regression models that I want to export to LaTeX. I am using the package "texreg". The final output is:
\begin{table}
\begin{center}
\begin{tabular}{l c c}
\hline
& Model 1 & Model 2 \\
\hline
as.factor(treat)1 & $145227140331.44$ & \\
& $(2648642987059.38)$ & \\
as.factor(msj)1 & & $-647801609586.01$ \\
& & $(3435830264390.74)$ \\
as.factor(msj)2 & & $433277589458.84$ \\
& & $(3288915232361.39)$ \\
as.factor(msj)3 & & $-1691975577225.66$ \\
& & $(3293603457594.94)$ \\
as.factor(msj)4 & & $-843647941334.40$ \\
& & $(3359975197112.69)$ \\
as.factor(msj)5 & & $576301517588.01$ \\
& & $(3349253720672.64)$ \\
as.factor(msj)6 & & $3301581741709.62$ \\
& & $(3403672471154.21)$ \\
as.factor(msj)7 & & $17431285033.90$ \\
& & $(3695545300670.01)$ \\
\hline
Num. obs. & $1000$ & $1000$ \\
R$^2$ (full model) & $0.02$ & $0.03$ \\
R$^2$ (proj model) & $0.00$ & $0.00$ \\
Adj. R$^2$ (full model) & $0.01$ & $0.01$ \\
Adj. R$^2$ (proj model) & $-0.01$ & $-0.01$ \\
Num. groups: as.factor(strata) & $10$ & $10$ \\
\hline
\multicolumn{3}{l}{\scriptsize{$^{***}p<0.001$; $^{**}p<0.01$; $^{*}p<0.05$}}
\end{tabular}
\caption{Statistical models}
\label{table:coefficients}
\end{center}
\end{table}
Instead of the latex output displaying the R-squared and Adjusted R-squared, can I get it to show the mean of the dependent variable?

Latex - table not showing

I have seen several discussions on this board treating the topic but none of the solutions seem to work. I use R stargazer and have downloaded a table under Latex format, but when I copy paste the TeX code in my Latexfile, it does not show up in the PDF. I have also tried to use \input{myfile} with the table but the results is the same. Please find below a shorter version of the table. Does anybody have a solution ?
\documentclass[12pt]{article}
\begin{document}
\begin{table}[!htbp] \centering
\caption{}
\label{}
\begin{tabular}{#{\extracolsep{5pt}}lcccccccc}
\\[-1.8ex]\hline
\hline \\[-1.8ex]
Statistic & \multicolumn{1}{c}{N} & \multicolumn{1}{c}{Mean} & \multicolumn{1}{c}{St. Dev.} & \multicolumn{1}{c}{Min} & \multicolumn{1}{c}{Pctl(25)} & \multicolumn{1}{c}{Median} & \multicolumn{1}{c}{Pctl(75)} & \multicolumn{1}{c}{Max} \\
\hline \\[-1.8ex]
total\_asset & 10 & 30 & 40 & 50 & 60 & 50.000 & 5,556.000 \\
EBITDA\_margin & 6 & $-$5 & 12 & $-$1,250.000 & $-$0.085 & 0.1 & 0.033 & 42,500.000 \\
\hline \\[-1.8ex]
\end{tabular}
\end{table}
\end{document}
Kind regards,

R markdown won't compile a piece of LaTeX code

I have the following piece of code, which I would like to run I R markdown. I have tried to run it in a LaTeX compiler, which works absolutely fine. But when I add it into R markdown it won't compile the piece of code.
---
title: "Titre"
date: Fecha
output:
pdf_document:
keep_tex: true
includes:
in_header: mystyle.sty
---
\begin{table}[!htbp] \centering
\caption{}
\label{}
\begin{tabular}{#{\extracolsep{5pt}}lD{.}{.}{-3} }
\\[-1.8ex]\hline
\hline \\[-1.8ex]
& \multicolumn{1}{c}{\textit{Dependent variable:}} \\
\cline{2-2}
\\[-1.8ex] & \multicolumn{1}{c}{mpg} \\
\hline \\[-1.8ex]
cyl & -2.876^{***} \\
& (0.322) \\
& \\
Constant & 37.885^{***} \\
& (2.074) \\
& \\
\hline \\[-1.8ex]
Observations & \multicolumn{1}{c}{32} \\
R$^{2}$ & \multicolumn{1}{c}{0.726} \\
Adjusted R$^{2}$ & \multicolumn{1}{c}{0.717} \\
Residual Std. Error & \multicolumn{1}{c}{3.206 (df = 30)} \\
F Statistic & \multicolumn{1}{c}{79.561$^{***}$ (df = 1; 30)} \\
\hline
\hline \\[-1.8ex]
\textit{Note:} & \multicolumn{1}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\
\end{tabular}
\end{table}
The file mystyle.sty contains the following
\usepackage{dcolumn}
\newcolumntype{d}[1]{D{.}{.}{#1}}
\usepackage{booktabs}
\newcommand{\mc}[1]{\multicolumn{1}{c}{#1}} % handy shortcut macro
\usepackage{verbatim}
Are there someone who can explain why R markdown can't compile what's above?
By adding the table code line by line and recompiling each time, I isolated the problem to the lines with carets, e.g. the line that reads cyl & -2.876^{***} \\.
I was able to compile the document by enclosing the superscripted part in two $ signs, i.e.
cyl & -2.876$$^{***}$$ \\
(I don't know why you need two, rather than just one, $.)
This compiles just fine:
---
title: "Titre"
date: Fecha
output:
pdf_document:
keep_tex: true
includes:
in_header: mystyle.sty
---
\begin{table}[!htbp] \centering
\begin{tabular}{#{\extracolsep{5pt}}lD{.}{.}{-3} }
\\[-1.8ex]\hline
\hline \\[-1.8ex]
& \multicolumn{1}{c}{\textit{Dependent variable:}} \\
\cline{2-2}
\\[-1.8ex] & \multicolumn{1}{c}{mpg} \\
\hline \\[-1.8ex]
cyl & -2.876$$^{***}$$ \\
& (0.322) \\
& \\
Constant & 37.885$$^{***}$$ \\
& (2.074) \\
& \\
\hline \\[-1.8ex]
Observations & \multicolumn{1}{c}{32} \\
R$^{2}$ & \multicolumn{1}{c}{0.726} \\
Adjusted R$^{2}$ & \multicolumn{1}{c}{0.717} \\
Residual Std. Error & \multicolumn{1}{c}{3.206 (df = 30)} \\
F Statistic & \multicolumn{1}{c}{79.561$^{***}$ (df = 1; 30)} \\
\hline
\hline \\[-1.8ex]
\textit{Note:} & \multicolumn{1}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\
\end{tabular}
\end{table}

Using stargazer for systemfit objects

I wonder how to use stargazer for systemfit objects. My working example is below which gives two different tables rather than one.
library("systemfit")
data("Kmenta")
eqDemand <- consump ~ price + income
eqSupply <- consump ~ price + farmPrice + trend
eqSystem <- list(demand = eqDemand, supply = eqSupply)
fitols <- systemfit(eqSystem, data=Kmenta)
fitsur <- systemfit(eqSystem, method = "SUR", data=Kmenta)
library(stargazer)
stargazer(
coef(fitols)
, coef(fitsur)
, title="Regression Results"
, align=TRUE
)
It can be done using texreg function from texreg package:
texreg(list(fitols, fitsur))
\begin{table}
\begin{center}
\begin{tabular}{l c c c c }
\hline
& Model 1 & Model 2 & NA & NA \\
\hline
(Intercept) & $99.90^{***}$ & $58.28^{***}$ & $99.33^{***}$ & $61.97^{***}$ \\
& $(7.52)$ & $(11.46)$ & $(7.51)$ & $(11.08)$ \\
price & $-0.32^{**}$ & $0.16$ & $-0.28^{**}$ & $0.15$ \\
& $(0.09)$ & $(0.09)$ & $(0.09)$ & $(0.09)$ \\
income & $0.33^{***}$ & & $0.30^{***}$ & \\
& $(0.05)$ & & $(0.04)$ & \\
farmPrice & & $0.25^{***}$ & & $0.21^{***}$ \\
& & $(0.05)$ & & $(0.04)$ \\
trend & & $0.25^{*}$ & & $0.34^{***}$ \\
& & $(0.10)$ & & $(0.07)$ \\
\hline
R$^2$ & 0.76 & 0.65 & 0.76 & 0.61 \\
Adj. R$^2$ & 0.74 & 0.59 & 0.73 & 0.54 \\
Num. obs. & 40 & 40 & 40 & 40 \\
\hline
\multicolumn{5}{l}{\scriptsize{$^{***}p<0.001$, $^{**}p<0.01$, $^*p<0.05$}}
\end{tabular}
\caption{Statistical models}
\label{table:coefficients}
\end{center}
\end{table}
Not supported yet, but planned for a future release. If you have any suggestion regarding what the final table should look like (and/or what is important in systemfit regression table output), please e-mail stargazer's author.

Resources