相关疑难解决方法(0)

Knitr内联块选项(无评估)或仅渲染突出显示的代码

我找不到有关是否可以在knitr中指定内联块的选项的信息.我只是尝试指定它们,就像在常规块中一样,但这会产生错误.

我需要的是在PDF中包含突出显示的R代码​​,但不进行评估.由于上下文的格式,这只能在内联块中发生.或许还有另一种方法可以包含突出显示的代码.

举一个例子,我需要以下几点:

Some text about something with `r eval=FALSE 1+1` inside the sentence. 
Run Code Online (Sandbox Code Playgroud)

这个特殊的语法给出:

Error in parse(text = code, keep.source = FALSE) :
<text>:1:11: unexpected ','
1: eval=FALSE,
Run Code Online (Sandbox Code Playgroud)

r syntax-highlighting knitr

12
推荐指数
1
解决办法
2626
查看次数

如何设置使用knitr/pander生成的报告中的小数位数?

我知道这是一个相当古老的问题,之前已经讨论过,但我无法按预期工作.

我有一个降价的文件,我想用knitrpander生产用两位小数,如0.12,3.60,14.00,或163.21与一致的数字格式的.docx报告内嵌和块输出.我已阅读此主题如何避免在每个\ Sexpr {}中使用round()?建议pander可以自动执行此操作.但是,它似乎对我不起作用.请让我知道我在这里缺少什么.

剧本:

```{r, echo=FALSE}
library(knitr)
opts_chunk$set(echo = FALSE, message = FALSE, results = 'asis')
```

```{r}
require(pander)
panderOptions('digits' , 2) #this should do the trick, right?
```

Test
=====

Let's produce some test stats:


```{r}
model1 = lm(weight~feed, chickwts)
anova.m1 = anova(model1)
pander(anova.m1)
pander(coef(summary(model1)))
```

In-line R codes: "Type of food affects body mass of the chicks
(F~`r anova.m1$Df[1]`,`r anova.m1$Df[2]`~ = `r anova.m1$F[1]`, p =  `r anova.m1$Pr[1]`)." …
Run Code Online (Sandbox Code Playgroud)

r pandoc knitr pander

9
推荐指数
2
解决办法
2万
查看次数

Sexpr中的错误处理

我如何允许内部错误\Sexpr

我有一个knitr文件.本文档的一小部分是指无法共享的文件.因此,无论何时\Sexpr{a}调用a依赖于正在读取的文件的某个对象,它都会返回错误.我想要\Sexpr打印它遇到错误.

例如,

\documentclass{article}
\usepackage{xcolor}  % for red

\begin{document}

<<>>=
x <- 1
@

The value of $x$ is \Sexpr{x}

<<>>=
a <- scan("secret_file.txt")
@
The value of $a$ is \Sexpr{a}.

\end{document}
Run Code Online (Sandbox Code Playgroud)

将不会编译(当secret_file.txt不存在时).我希望输出看起来像:Sexpr-错误检测

我认为改变inline钩子会起作用,但是把下面的块子没有区别.

<<Sexpr-setup>>=
library(knitr)
knit_hooks$set(inline = function(x){
  out <- tryCatch(
    {
      if (is.numeric(x)) 
        x = round(x, getOption("digits"))
      paste(as.character(x), collapse = ", ")
    }, 
    error = function(cond){
      return("\\textcolor{red}{\\textbf{Sexpr error!}}")
      invisible(NULL)
    }, 
    warning = function(cond){
      return("\\textcolor{red}{\\textbf{Sexpr warning!}}")
      invisible(NULL) …
Run Code Online (Sandbox Code Playgroud)

error-handling r try-catch knitr

9
推荐指数
1
解决办法
554
查看次数

\ Sexpr {} .Rnw文件中的特殊LaTeX字符($,&,%,#等)

它与默认的内联钩子有关,我意识到并且我已经尝试了它(钩子)并且还阅读了这个线程和Yihui 关于钩子页面,但是我无法解决我的问题.我甚至尝试过Sacha Epskamp的这个建议,但在我的情况下它没有做到这一点.

我正在使用\Sexpr并做一些\Sexpr{load("meta.data.saved"); meta.data[1,7]}在我的报告中打印关键字的方法,问题是人们编写这些关键字(我无法控制的人)正在使用特殊的乳胶字符($,&,%,#等. )当它们被传递到我的.tex文件时,我没有\一个糟糕的时间.

我有一个包含此代码的.Rnw文件,

\documentclass{article}
\begin{document}
 Look \Sexpr{foo <- "me&you"; foo} at this.
\end{document}
Run Code Online (Sandbox Code Playgroud)

Thsi创建一个带有非法LaTeX字符的.tex文件.像这样,

<!-- Preamble omitted for this example. -->
\begin{document}
 Look me&you at this.
\end{document}
Run Code Online (Sandbox Code Playgroud)

我有兴趣得到一个看起来像这样的输出,

<!-- Preamble omitted for this example. -->
\begin{document}
 Look me\&you at this.
\end{document}
Run Code Online (Sandbox Code Playgroud)

很抱歉这个简单的问题,但有人可以帮助我,也许其他人,开始如何修改默认的内联挂钩\Sexpr

latex r knitr

3
推荐指数
1
解决办法
1456
查看次数