我正在使用knitr
,并且我希望在R markdown中呈现文本块,就好像它们是注释输出一样。如何让knitr
在文本中添加左对齐的注释符号?
即,我有很多类似下面的文本,我在我的.Rmd
文件中从R studio的R命令控制台复制粘贴:
Fixed effects:
Estimate Std. Error t value
(Intercept) 723.793 27.472 26.346
GroupCond.Treatmenthomo 6.145 4.792 1.282
GroupCond.Treatmenthetero 20.739 4.796 4.324
我希望knitr以注释代码块的方式呈现它:
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) 723.793 27.472 26.346
## GroupCond.Treatmenthomo 6.145 4.792 1.282
## GroupCond.Treatmenthetero 20.739 4.796 4.324
有办法做到这一点吗?
我在这里尝试做的是显示建模过程中的步骤,而不实际为我的.Rmd
文件加载命令执行步骤,这需要将数据加载到.Rmd
环境和耗时的模型中配件。并且,在显示步骤时,我想明确区分建模命令和模型输出。
答案 0 :(得分:0)
尝试转义您的降价文字。请记住以两个空格结束每一行以强制换行
\## Fixed effects:
\## Estimate Std. Error t value
\## (Intercept) 723.793 27.472 26.346
\## GroupCond.Treatmenthomo 6.145 4.792 1.282
\## GroupCond.Treatmenthetero 20.739 4.796 4.324
答案 1 :(得分:0)
总结一下,问题在于实际上并不是计算结果,而是在文档中计算看起来像的输出(代码和结果)。
假设我们有以下代码生成data.frame
:
dat <- data.frame(ID = 1:10, char = LETTERS[1:10])
假设我们不想让读者混淆#34;令人困惑的代码&#34;生成dat
。但是我们希望显示有一个命令summary(dat)
,我们想要包含它的输出。输出应该看起来像我们实际执行的命令。
我提出三种不同的解决方案。我将它留给读者来演示片段以便查看输出。
简单版本:
```{r, echo = FALSE}
dat <- data.frame(ID = 1:10, char = LETTERS[1:10])
```
```{r}
summary(dat)
```
高级版(相同输出!):
```{r, echo = 2}
dat <- data.frame(ID = 1:10, char = LETTERS[1:10])
summary(dat)
```
说明:请参阅echo
的文档。
在正常的R会话中,生成/计算要打印的对象,并使用save
将它们保存到文件中。在文档中,load
该文件(在单独的块中或使用上面的echo
技巧)。
```{r, echo = 2}
load("dat.RData")
summary(dat)
```
dat
的生成对文档无关紧要。问题建议显示从控制台复制的文本,就好像它是输出一样。
```{r, eval = FALSE}
summary(dat)
```
```{r, echo = FALSE}
cat(" ID char
Min. : 1.00 A :1
1st Qu.: 3.25 B :1
Median : 5.50 C :1
Mean : 5.50 D :1
3rd Qu.: 7.75 E :1
Max. :10.00 F :1
(Other):4 ")
```
cat
除外)(如果您想称之为优势)。