我想知道我是否可以使用knitr
markdown来创建一个动态报告,其中包含源自当前工作空间的对象。再现性不是问题。我也读得很好thread here。
但是我仍然收到一条错误消息,抱怨无法找到特定对象。
1)假设我打开一个新的降价文档并保存。
2)编写一个引用我工作区中某个lm
对象的块。致电summary(mylmobject)
3)编织它。
不幸的是生成了报告,但无法显示回归输出,因为无法找到该对象。注意,如果我只是将对象保存到.Rdata然后直接从markdown文件加载它,它通常工作。
有没有办法在当前工作区中使用R markdown中的对象? 这对于非R人在继续工作时显示一些输出非常好。
答案 0 :(得分:32)
RStudio打开一个新的 R会话到你的R Markdown文件knit()
,因此当前工作空间中的对象将无法用于该会话(它们是两个单独的会话)。两种解决方案:
library(knitr); knit('your_file.Rmd')
(或knit2html()
如果您希望一步完成HTML输出,或rmarkdown::render()
如果您使用R Markdown v2)答案 1 :(得分:27)
使用以下方法可能更容易从其他会话中保存数据:
save.image("C:/Users/Desktop/example_candelete.RData")
然后将其加载到MD文件中:
load("C:/Users/Desktop/example_candelete.RData")
答案 2 :(得分:0)
Markdownreports package完全用于动态解析降价文档。
答案 3 :(得分:0)
正如Julien Colomb评论的那样,我发现在这种情况下最好的办法是保存大型物体,然后在我定制降价时明确加载它们。如果您的数据是通过ODBC发送的,并且您不希望在修改字体和主题时重复运行整个查询,则必须这样做。