【发布时间】:2015-06-02 19:12:13
【问题描述】:
我正在尝试在 knitr 中的 word 文档中显示一个简单的表格。我有以下代码:
library(knitr)
a<-c(1,2,3,4,5,6)
b<-c(1,2,3,4,5,6)
tab<-data.frame(a,b)
在控制台中正确运行
knitr::kable(tab)
但是,当放入名为“medinventory”的降价文档时,代码无法正常运行并返回以下错误:
````{r echo=FALSE,results='asis'}
knitr::kable(tab)
````
processing file: medinventory.Rmd
|...................... | 33%
ordinary text without R code
|........................................... | 67%
label: unnamed-chunk-1 (with options)
List of 2
$ echo : logi FALSE
$ results: chr "asis"
Quitting from lines 17-18 (medinventory.Rmd)
Error in is.data.frame(x) : object 'tab' not found
Calls: <Anonymous> ... eval -> eval -> <Anonymous> -> colnames ->
is.data.frame
Execution halted
所以数据框在 globalEnvr 中却没有被 markdown 识别?我将不胜感激任何相关问题的链接以及答案。
【问题讨论】:
-
为什么不将数据框创建添加到markdown代码中呢?这不仅应该有效,而且如果您需要再次生成输出,它实际上使 Rmarkdown 可重现。
-
Molx 所说的。您想在 knitr 代码块中使用的任何 R 对象都需要在代码块中创建。
-
太棒了。感谢@Molx 的提示。为什么 mtcars 不是这种情况?
-
mtcars是datasets包中可用的数据集之一,该包加载了基础 R。例如,其他是iris和airquality。您可以使用library(help = "datasets")查看完整列表。