以下符号的问题 *

以下符号的问题 *

我正在尝试将我的 R 代码添加到我的 Latex 文件中。

这是我保存在 R 文件中的 R 代码(输出)

Coefficients:
              Estimate    Std. Error  t value   Pr(>|t|)  
(Intercept)   39.534      868.517     0.046     0.9648  
Besuche10     18.881      9.187       2.055     0.0739 .
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 385.5 on 8 degrees of freedom
Multiple R-squared:  0.3455,    Adjusted R-squared:  0.2637 
F-statistic: 4.224 on 1 and 8 DF,  p-value: 0.07391

当我编译我的 Latex 文件时,Latex 的 -symbols 存在问题***

包 inputenc 错误:无效的 UTF-8 字节序列

我怎么解决这个问题?

谢谢你的帮助。

答案1

您的问题listings可以通过以下方式解决:

Example1.tex

\documentclass{article}
\usepackage{listings}
\lstset{
    inputencoding=utf8,
    extendedchars=true,
    literate={‘}{{`}}1 {’}{{'}}1,}
\begin{document}
\lstinputlisting{script.R}
\end{document}

但由于 script.R 中没有任何语法代码,因此最好只使用verbatim

Example2.tex

\documentclass{article}
\usepackage{verbatim}
\begin{document}
\verbatiminput{script.R}
\end{document}

话虽如此,但不包括外部保存的 R 输出。使用 R 从文档本身生成该输出knitr。下面的示例展示了一些显示回归模型摘要部分的方法。

代码有点复杂,主要是因为添加了一个选项来像手动操作一样剪切原始摘要。如果没有这个output.lines选项,显示摘要就相当简单了。

另一种方法是提取此格式的值,并在您自己的 LaTeX 摘要中格式化这些元素。这里的主要技巧可能是如果您需要星号,而这些星号不在系数矩阵中。

但无论如何,如果您更改源数据、使用已保存的输出或复制和粘贴,所有输出都将自动更新...

Example3.Rnw

(如果您不知道如何编译此文件,请使用 Rstudio > 编译 PDF)。

\documentclass{article}
\usepackage[margin=1cm]{geometry}
\usepackage{booktabs,parskip,tabto}
\begin{document}

\section*{Sample data}
  
<<xxx,echo=F>>=
# Sample data and model regression
var <- c(1,2,3,4,5,6,7,8,9) 
Besuche <- c(111,231,328,450,541,613,711,815,919)
mod <-  lm(var~Besuche)
@

var = \Sexpr{var}\par Besuche = \Sexpr{Besuche}

\section*{Raw}

% https://stackoverflow.com/a/23205752/2803235

<<output,echo=F>>=
library(knitr)
hook_output <- knit_hooks$get("output")
knit_hooks$set(output = function(x, options) {
  lines <- options$output.lines
  if (is.null(lines)) {
    return(hook_output(x, options))  # pass to default hook
  }
  x <- unlist(strsplit(x, "\n"))
  more <- "   "
  if (length(lines)==1) {        # first n lines
    if (length(x) > lines) {
      # truncate the output, but add ....
      x <- c(head(x, lines), more)
    }
  } else {
    x <- c(more, x[lines], more)
  }
  # paste these lines together
  x <- paste(c(x, ""), collapse = "\n")
  hook_output(x, options)
})
@
  
<<zzz,echo=F,output.lines=-(1:8),comment=" ">>=
y <- summary(mod)
y
@
  
\section*{Cooked}

Coefficients: 
  
<<test,echo=F,results='asis'>>=
library(xtable)
options(xtable.floating = FALSE)

DF <- read.table(textConnection(#
      capture.output(summary(mod))[11:12]), fill = T)

names(DF) <- c(" ", colnames(coef(summary(mod))), "Signif.")

print(xtable(DF,digits=c(0,0,3,3,3,2,0),display=c("s","s","g","g","g","g","s")), math.style.exponents=T, include.rownames = F, booktabs = T)
@

<<buklreport,echo=F,output.lines=-(1:12),results="asis">>=
y
@

\section*{Floating version}

See the table \ref{float}.

\begin{table}[hb!]
\centering
\caption{Regression coefficients.}\label{float}
<<test2,echo=F,results="asis">>=
print(xtable(y), booktabs = T)
@
\begin{tabular}{ll}
Residual standard error: &   \Sexpr{round(y$sigma,4)} 
on \Sexpr{y$df[2]} degrees of freedom.\\
Multiple R$^2$: & \Sexpr{round(y$r.squared,4)}.\\  
Adjusted R$^2$: & \Sexpr{round(y$adj.r.squared,4)}\\ 
F-statistic:  & \Sexpr{round(y$fstatistic[1],0)} on 
\Sexpr{y$fstatistic[2]} and  
\Sexpr{y$fstatistic[3]} DF.\\
p-value: & \Sexpr{signif(y$coef[,4][2],4)} \\
\end{tabular}
\end{table}

\end{document}

姆韦

相关内容