2014-06-11 15 views
5

Ho posto domande correlate here, here e here.Problemi nel Knitting Html nella versione di anteprima di RStudio

Goal

Ho un file lungo Rmd (salvato in un progetto R), che voglio a lavorare a maglia in formato HTML e PDF con sommario.

Problema Sfondo

stavo usando RStudio 0.98.501 in precedenza. Le impostazioni sono state:

  1. Nessuna tabella dei comandi contenuti (TOC) del nella parte superiore del documento
  2. percorsi assoluti per immagini esterne
  3. cache=TRUE nelle opzioni chunk globali

Quando ho cliccato il knitHtml pulsante prima volta ha creato nuove cartelle: figures, cache, knitHTML, ecc. Non c'era alcun problema, tutto ha funzionato bene. Ma poi ho deciso di aggiungere i TOC. Usando la sezione Output Options allo Rmarkdown Version 2 page, ho aggiunto il comando toc in alto, ho fatto clic sul pulsante knitHtml ma ho ottenuto lo stesso risultato di prima senza alcun TOC. Così, ho deciso di passare alla versione di anteprima di RStudio.

Stato attuale del problema

Dopo l'aggiornamento a versione di anteprima, ho aperto il progetto e cliccato knitHtml pulsante. Ha dato l'errore che una delle immagini esterne non è stata trovata. Così, su consiglio di Yihui Xie ho seguente:

  • copiato tutti le immagini esterne e trame create da R durante precedenti knittings alla cartella in cui è stato il file Rmd. Questa era la cartella knitHtml nella directory del progetto.
  • percorsi relativi a tutte le immagini esterne
  • cache=TRUE in opzioni chunk globali

Poi ho cliccato il pulsante knitHTML e ottenuto seguente errore:

output file: Trajectory1-new.knit.md 
"C:/Program Files/RStudio/bin/pandoc/pandoc" Trajectory1-new.utf8.md --to html --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash-implicit_figures --output Trajectory1-new.html --smart --email-obfuscation none --self-contained --standalone --section-divs --table-of-contents --toc-depth 3 --template C:\Users\durraniu\Documents\R\win-library\3.0\rmarkdown\rmd\h\default.html --variable theme:united --include-in-header C:\Users\durraniu\AppData\Local\Temp\Rtmp0OFfmZ\rmarkdown-str10186bd23276.html --mathjax --variable mathjax-url:https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML --no-highlight --variable highlightjs=C:\Users\durraniu\Documents\R\win-library\3.0\rmarkdown\rmd\h\highlight 
pandoc.exe: Could not find data file ./Trajectory1-new_files/figure-html/pdf_velocity.png 
Error: pandoc document conversion failed with error 97 
In addition: Warning messages: 
1: In if (grepl(" ", path, fixed = TRUE)) path <- utils::shortPathName(path) : 
    the condition has length > 1 and only the first element will be used 
2: running command '"C:/Program Files/RStudio/bin/pandoc/pandoc" Trajectory1-new.utf8.md --to html --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash-implicit_figures --output Trajectory1-new.html --smart --email-obfuscation none --self-contained --standalone --section-divs --table-of-contents --toc-depth 3 --template C:\Users\durraniu\Documents\R\win-library\3.0\rmarkdown\rmd\h\default.html --variable theme:united --include-in-header C:\Users\durraniu\AppData\Local\Temp\Rtmp0OFfmZ\rmarkdown-str10186bd23276.html --mathjax --variable mathjax-url:https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML --no-highlight --variable highlightjs=C:\Users\durraniu\Documents\R\win-library\3.0\rmarkdown\rmd\h\highlight' had status 97 
Execution halted 

Così, ho provato knit PDF e ha funzionato. L'output era come previsto. Poi sono passato a cache=FALSE in opzioni globali e ho cliccato su knit HTML. Ci sono voluti molto tempo (il mio file ha molte analisi) e ho dato il file html con i TOC come output, ciò che richiedevo.

La mia domanda è, perché devo mettere cache=FALSE per creare html quando cache=TRUE funziona per PDF in RStudio versione di anteprima? Non vedo l'ora di 15-20 minuti per vedere l'output dopo aver aggiunto una singola sezione. Come posso risolvere questo?

EDIT

In seguito è la questione davanti:

--- 
title: "Sample Document" 
output: 
    html_document: 
    theme: united 
    toc: yes 
--- 

Trajectory: 7:50 am - 8:05 am (t1) 
======================================================== 
```{r setup} 
# set global chunk options: 
library(knitr) 
opts_chunk$set(cache=TRUE, fig.align='center') 
``` 
```{r alllibraries, echo=FALSE} 
library(ggplot2) 
library(plyr) 
library(data.table) 
library(parallel) 
library(xtable) 
library(ggthemes) 
suppressPackageStartupMessages(library(googleVis)) 
my.theme<-function(base_size = 12, base_family = "Trebuchet MS") 
{theme(plot.title = element_text(size = rel(2)), panel.grid.major=element_line(color='grey'), panel.grid.minor=element_line(color='grey', linetype='dashed'), legend.position='bottom', legend.background = element_rect(colour = "black"), strip.text = element_text(size=13, lineheight=2)) 
} 
``` 
+0

Includere sempre le versioni del software nel post e aggiornare i pacchetti software se sono disponibili nuove versioni. Inoltre, è difficile rispondere a una domanda senza un esempio riproducibile minimo. –

+0

La versione di anteprima di RStudio che sto utilizzando è la versione 0.98.894. Ho aggiornato tutti i pacchetti. Inoltre, creare un esempio riproducibile minimo è provare a creare lo stesso problema con un documento più piccolo. L'ho provato, ma non c'era alcun problema (il file è stato facilmente elaborato con o senza 'cache = TRUE') in documenti più piccoli. In realtà non so cosa stia esattamente fermando pandoc per convertire il file md in html. L'errore è 97. Ho cercato su Google ma non ho trovato alcuna informazione. Per favore guida. –

+0

Ho aggiornato di nuovo i pacchetti e ora R non trova alcun pacchetto! Sto tornando alla versione precedente. Questa sembra essere l'unica soluzione per ora. –

risposta

7

Questo potrebbe servire solo come un commento, ma ha funzionato per me.

Poiché inizialmente ho creato il progetto e il documento Markdown in una versione precedente di RStudio (0.98.501) e successivamente sono passato alla versione di anteprima, penso che sia diventato necessario specificare la figura e il percorso della cache nelle opzioni di blocco. Così, ho fatto seguente:

opts_chunk$set(cache=TRUE, cache.path = 'DocumentName_cache/', fig.path='figure/') 

Ora, io non devo mantenere cache=FALSE a lavorare a maglia in HTML. Nella versione di anteprima, ora posso facilmente creare sommari e cambiare tema.

Problemi correlati