2017-09-06 49 views
1

使用RMarkdown。 我在R脚本中定义tau=10,我使用read_chunk(example.R)读入Rmd文件。我调用example组块。 我想在下面定义的表格中显示tau的值。 无论我如何尝试,我都无法获得r代码来评估。内联r在降价表中显示可变值

欣赏任何提示或提示。

```{r example, echo=FALSE, message=FALSE, warnings=FALSE, results='asis'} 
``` 
```{r tbl, message=FALSE, warnings=FALSE, results='asis'} 
tbl <- " 
| Parameter       | Value   | 
|-------------------------------------|:-------------:| 
| $$\\frac{\\partial}{\\partial} $$ | `r tau `  | 
" 
cat(tbl) 
``` 
+3

如果您只是将它包含在文本的正文中,而没有将其记录在代码块中,您的表就可以工作 - 您是否需要执行额外的处理来阻止您这样做? – Marius

+0

感谢@Marius,对于我的表代码我遵循SO建议[简单手动RMarkdown表,在HTML,PDF和DOCX中看起来不错](http://r.duckduckgo.com/l/?kh=-1&uddg = http%3A%2F%2Fstackoverflow.com%2Fquestions%2F19997242%2Fddg%2320008018) – Hedgehog

+2

好吧,我真的不明白为什么在这个问题中使用了'猫' - 就我所知,在表中包括它在文本的主体中应该与静态表(没有内联代码或'paste'd值)等价。我已经在链接问题中测试了这些示例,并且看到了相同的结果,无论是“猫”还是包含在文本中。尝试在文本正文中包含你的表格,并看看它是如何工作的。 – Marius

回答

3

正如@Marius提到的,只需将表细节的文本,而不是一个代码块中,然后进行在线调用tau

也就是说,改变你的rmarkdown文件的内容是这样的:

```{r echo=FALSE} 
tau <- 10 
``` 

| Parameter       | Value   | 
|-------------------------------------|:-------------:| 
| $$\frac{\partial}{\partial} $$  | `r tau ` | 

编辑

如果表中的文本需要保持代码块中因某种原因则你可以尝试:

```{r tbl, message=FALSE, warnings=FALSE, echo=FALSE, results='asis'} 
tbl <- c(" 
| Parameter       | Value   | 
|-------------------------------------|:-------------:| 
| $$\\frac{\\partial}{\\partial} $$ | ", tau, "  | 
") 
cat(tbl, sep="") 
``` 

(注tau在本地定义,而不是通过一个外部脚本本示例)

+1

认为你必须修改数学,因为反斜杠不再需要转义。 – Marius

+0

谢谢Marius,删除了额外的反斜杠。编辑的答案中的两个代码片段现在都应该正确呈现 – markdly

1

当使用Rmarkdown内嵌R,这是一个开始:

```{r} 
tau=10 
``` 

| Parameter       | Value    | 
|-------------------------------------|:-------------------:| 
| $$ \frac{\partial}{\partial} $$ | `r tau`    | 

但是,如果你想要做一些更复杂的像即兴的计算,大胆,或颜色的字体,这是当你想使用paste0(),让您顺利混合语言的习惯来获得:

```{r} 
tau=10 
``` 

| Parameter       | Value             
| 
|-------------------------------------|:-------------------------------------------------:| 
| $$ \frac{\partial}{\partial} $$ | `r tau`           | 
| $$ \frac{\partial}{\partial} $$ | `r paste0('**',tau,'**')`       | 
| $$ \frac{\partial}{\partial} $$ | `r paste0('\\textcolor[RGB]{0,205,102}{',tau,'}')`| 
| $$ \frac{\partial}{\partial} $$ | `r paste0('**','!=',tau-1,'**')`     | 
| $$ \frac{\partial}{\partial} $$ | `r paste0('\\textcolor[RGB]{255,0,0}{',tau-1,'}')`| 

输出:

enter image description here

+0

谢谢。这是一个有用的提示。我接受了@ markdly编辑的答案,因为它被改为符合提出的问题,即猫串。 – Hedgehog

+0

@刺猬 - 没问题。这两种工具对于了解肯定有帮助。 – www