2014-11-17 17 views
8

Po tym pytaniu (including a interactive 3D figure with knitr) i w tym przykładzie autorstwa Yihui (https://dl.dropboxusercontent.com/u/15335397/misc/webgl-rmd.html) mogę dołączyć interaktywną postać 3D w html przy użyciu knitr i Rmarkdown. Ale chciałbym dołączyć statyczną figurę do danych w formacie word/pdf.Łącznie z interaktywną postacią 3D w html i statyczną w słowach/pdf przy użyciu knitr i rgl

Czy można to zrobić? Dzięki za wszelkie sugestie.

My 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 
+1

Zgaduję można użyć 'knitr :: opts_knit $ get (" rmarkdown. pandoc.to "), aby zapytać format wyjściowy i przekazać te informacje do opcjonalnego kota. – baptiste

+0

@baptiste Dzięki za sugestie. Spróbuję. – Bangyou

Odpowiedz

7

Można użyć następujących ustawień, aby przełączyć się w zależności od formatu wyjściowego

```{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") 
``` 
+0

Funkcja out_type nie działa w moim pliku .Rmd; obiekt jest pusty ("NULL"), jeśli uruchomię ten fragment. Czy możesz mi pomóc to naprawić? –

+0

Nie wiem, czym jest problem; mi to pasuje. Nie zobaczysz wyniku w interaktywnym przebiegu tego fragmentu, ale cały dokument prawdopodobnie musi być uruchomiony przez knitr/rmarkdown, aby ta opcja była ustawiona. – baptiste