2015-05-18 22 views
8

Ho osservato il pacchetto diagrammeR (http://rich-iannone.github.io/DiagrammeR/) per generare diagrammi in rMarkdown. Funziona alla grande quando si esegue il rendering dei documenti in HTML; ora la domanda che ho è se c'è la possibilità di produrre il documento come documento MS Word?Utilizzo di DiagrammeR in un documento Word (generato utilizzando rMarkdown)

Ad esempio, si consideri questo:

--- 
title: "Test" 
author: "Test" 
date: "Monday, May 18, 2015" 
output: html_document 
--- 

```{r, echo=FALSE, warning=FALSE} 
if (!require("DiagrammeR")) library("DiagrammeR") 
``` 

Check out this diagram: 

```{r, echo=FALSE, results='asis'} 
DiagrammeR::grViz(" 
     digraph rmarkdown { 
     node [shape = box ] 
     'A' -> 'B' 
     } 
     ") 
``` 

Uso di HTML come formato di output funziona come un fascino. Ma quando passo a MS Word, tutto quello che ottengo è:

Error: Functions that produce HTML output found in document targeting docx output. 
Please change the output type of this document to HTML. 

Qualsiasi idea sarebbe apprezzata.

Molte grazie, Philipp

+1

Suggerirei di chiedere direttamente Richard - lui è riannone su Twitter. Lui è molto utile. – jalapic

+1

Si prega di postare ciò che si impara perché questo pacchetto potrebbe essere utile per gli organigrammi, tra molte altre possibilità. Grazie. – lawyeR

risposta

2

trelliscope è utile: https://github.com/tesseradata/trelliscope

Dopo l'installazione http://phantomjs.org/download.html, È possibile generare file word doc da:

--- 
title: "Test" 
author: "Test" 
date: "Monday, May 18, 2015" 
output: word_document 
--- 

```{r include=FALSE} 
if (!require("DiagrammeR")) library("DiagrammeR") 
library(trelliscope) 
``` 


Check out this diagram: 

```{r, include=FALSE} 
p = DiagrammeR::grViz(" 
     digraph rmarkdown { 
     node [shape = box ] 
     'A' -> 'B' 
     } 
     ") 
widgetThumbnail(p, paste0(getwd(), "/hoge.png")) 
``` 

![](hoge.png) 

Ecco lo screenshot. Sembra perfetto :)

enter image description here

+0

alla fine ho trovato 'thumb.R' è una parte di tesseradata/trelliscope: https://github.com/tesseradata/trelliscope quindi dovremmo fare' library (trelliscope) 'dopo' install_github ("tesseradata/trelliscope") ' – kohske

+0

La tua soluzione sembra ideale. Ho installato 'trelliscope' e ho provato il codice sia in windows 8 che in ubuntu 14.10. In ogni caso, (a) il diagramma era correttamente reso da 'grViz' -' p' era valido. (b) il file 'hoge.png' risultante ha avuto un messaggio di errore' abort() at (nessuna traccia stack disponibile) '. Non sono sicuro se questo è un problema con 'DiagrammerR' o' trelliscope' o 'rmarkdown'. La stessa cosa accade quando il 'widgetThumbnail()' viene eseguito dal prompt di terminale di 'RStudio'. – Sue

Problemi correlati