关于这个问题(including a interactive 3D figure with knitr)和Yihui(https://dl.dropboxusercontent.com/u/15335397/misc/webgl-rmd.html)的这个例子,我可以使用knitr和Rmarkdown在html输出中包含一个3D交互式图形。但我想在word / pdf输出中包含一个静态图形。
有可能这样做吗?谢谢你的任何建议。
我的sessionInfo
> sessionInfo()
R version 3.1.1 (2014-07-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_Australia.1252 LC_CTYPE=English_Australia.1252
[3] LC_MONETARY=English_Australia.1252 LC_NUMERIC=C
[5] LC_TIME=English_Australia.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] rgl_0.95.1158 knitr_1.8
loaded via a namespace (and not attached):
[1] evaluate_0.5.5 formatR_1.0 stringr_0.6.2 tools_3.1.1
答案 0 :(得分:8)
您可以使用以下设置根据输出格式进行切换
```{r, echo=FALSE}
out_type <- knitr::opts_knit$get("rmarkdown.pandoc.to")
keep <- if(out_type == "html") 'none' else 'last'
```
```{r chunk, echo=FALSE, fig.keep=keep}
plot(cars)
if(out_type == "html")
cat("there goes fancy js code")
```
答案 1 :(得分:0)
如in an answer to a related question,knitr
1.18 introduced函数所示
knitr::is_html_output()
检查输出是否为HTML。改编@baptiste的出色答案以使用此功能:
```{r, echo=FALSE}
keep <- if(knitr::is_html_output()) 'none' else 'last'
```
```{r chunk, echo=FALSE, fig.keep=keep}
plot(cars)
if(knitr::is_html_output())
cat("there goes fancy js code")
```