如果Rmd文件中的R代码重用相同的变量名,则内联r表达式似乎返回此变量的最后一个值,而不管内联表达式的位置如何。除了确保在文档的不同部分不重用相同的变量名之外,是否存在避免此行为?
可重复的例子
---
title: "R Notebook"
output: html_notebook
---
```{r}
df <- cars
nrow(df)
```
The dataset has `r nrow(df)` rows.
```{r}
df <- iris
nrow(df)
```
The dataset has `r nrow(df)` rows.
这会产生以下输出
我正在使用: R版本3.3.2(2016-10-31) 平台:x86_64-w64-mingw32 / x64(64位) 运行于:Windows 7 x64(内部版本7601)Service Pack 1
rmarkdown_1.4 knitr_1.15.1
答案 0 :(得分:3)
问题是,在标题中,您正在预览&#34;您的文件,实际上并不是从头开始运行您的代码。您必须将其编织为HTML才能使其运行,以便您的内联代码正确无误。
问题标题
---
title: "R Notebook"
output: html_notebook
---
解决方案标题
---
title: "R Notebook"
output:
html_document: default
html_notebook: default
---
其他笔记
以前的解决方案有两个问题。首先,从RMarkdown文档中,&#34;内联表达式不采用knitr选项&#34; (见http://rmarkdown.rstudio.com/lesson-4.html的结尾)
其次,上一个答案的YAML格式不正确,迫使RStudio真正编织文件。正确的格式化会产生同样的问题
---
title: "R Notebook"
output:
html_notebook: default
---
答案 1 :(得分:2)