【问题标题】:knitr: object cannot be found when converting markdown file into htmlknitr:将markdown文件转换为html时找不到对象
【发布时间】:2013-12-04 00:18:05
【问题描述】:

您好,我正在使用 R studio 和“knitHTML”按钮将我的 Rmd 文件转换为 html 文件。然而,即使代码运行良好,当使用 knitHTML 时,它也找不到我之前创建的任何对象:

## Error: object 'cbt_2010' not found

但是,如果我在终端输入 cbt_2010 - 它就在那里。 Bascially knit 在工作区中找不到任何对象。

我做错了什么?使用 knit 时,似乎每个块中产生的任何数据都丢失在内存中!

【问题讨论】:

  • 我相信 knit 会打开自己的 R 会话,它的重现性最好
  • 如果您想根据当前会话中的对象进行编织(正如@baptiste 建议的那样,这可能是个坏主意),只需在控制台中使用library(knitr); knit2html("<filename>")。
  • 我想我今天面临与@AleksandrBlekh 类似的问题。如何进一步调试这个?
  • 在我的情况下是一个错字!
  • @AleksandrBlekh 当你加载/读取一个对象时,即使是在线的,你如何检查它是否存在?你能str(object) 和/或像summary(object) 一样吗?

标签: r knitr


【解决方案1】:

正如@BenBolker 已经提到的,您可以使用knitr 的knit2html(注意它与Rstudio 按钮不同,Rstudio 使用自己的功能来处理文档)来自knitr:

 x <- 10
 writeLines(c("# hello markdown",
          "```{r hello-random, echo=TRUE}", 
               "rnorm(x)", "```"), ## note the use of x
 "test.Rmd")
 library(knitr)
 knit2html("test.Rmd")

【讨论】:

    【解决方案2】:

    也许我在您的问题中遗漏了一些东西,但是如果您在 .Rmd 文件中创建对象“cbt_2010”,则 knitr 将使用该对象。

    换句话说,您可以在控制台中键入对象“cbt_2010”时找到它,因为您创建了该对象并且它对 R 可用。您需要在 .Rmd 文件中执行相同操作。

    【讨论】:

      猜你喜欢
      • 2012-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多