我找不到有关是否可以在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) 我知道这是一个相当古老的问题,之前已经讨论过,但我无法按预期工作.
我有一个降价的文件,我想用knitr和pander生产用两位小数,如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) 我如何允许内部错误\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不存在时).我希望输出看起来像:
我认为改变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) 它与默认的内联钩子有关,我意识到并且我已经尝试了它(钩子)并且还阅读了这个线程和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?