2014-06-11 10 views
5

Zadawałem powiązane pytania: here, here i here.Problemy z Knittingiem Html w wersji zapoznawczej RStudio

bramki

mam długą RMD (plik zapisany w projekcie R), które chcę robić na drutach do HTML i PDF z spisu treści.

Problem Tło

Używałem wcześniej RStudio 0.98.501. Ustawienia były:

  1. No stół dowodzenia treści (TOCs) w górnej części dokumentu
  2. bezwzględne ścieżki do obrazów zewnętrznych
  3. cache=TRUE w opcji globalnych fragmentach

Kiedy kliknięciu knitHtml Przycisk po raz pierwszy utworzył nowe foldery: figures, cache, knitHTML itp. Nie było problemu, wszystko działało dobrze. Ale potem zdecydowałem się dodać TOCs. Korzystając z sekcji Output Options pod nr Rmarkdown Version 2 page, dodałem polecenie toc na samej górze, kliknąłem przycisk knitHtml, ale otrzymałem takie samo wyjście jak poprzednio bez żadnych spisów treści. Dlatego zdecydowałem się na uaktualnienie do wersji RStudio Preview.

Aktualny stan problemu

Po aktualizacji do uwolnienia podglądu, otworzyłem projekt i kliknięciu knitHtml przycisk. Dało to błąd, że jednego z zewnętrznych obrazów nie znaleziono. Tak więc, za radą Yihui Xie za Zrobiłem następujący:

  • skopiowaniu wszystkich obrazów zewnętrznych i działek utworzone przez R podczas poprzednich sploty do folderu, w którym plik RMD było. Był to folder knitHtml w katalogu projektu.
  • Względne ścieżki do wszystkich obrazów zewnętrznych
  • cache=TRUE w opcji globalnych fragmentach

Następnie kliknąłem przycisk knitHTML i mam następujący błąd:

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 

Więc starałem knit PDF i to działało. Wynik był zgodny z oczekiwaniami. Następnie zmieniono na cache=FALSE w opcjach globalnych porcji i kliknąłem knit HTML. Trwało to długo (mój plik zawiera wiele analiz) i dało plik HTML z TOCs jako wyjście, co było mi potrzebne.

Moje pytanie brzmi, dlaczego muszę utworzyć cache=FALSE do tworzenia html, gdy cache=TRUE pracuje dla PDF w wersji RStudio? Nie mogę czekać 15-20 minut za każdym razem, aby zobaczyć wyniki po dodaniu pojedynczej sekcji. Jak mogę to rozwiązać?

EDIT

Poniżej przednia Dziedzina:

--- 
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

Zawsze dołączaj wersje oprogramowania do swojego posta i aktualizuj pakiety oprogramowania, jeśli są dostępne nowe wersje. Poza tym trudno jest odpowiedzieć na pytanie bez minimalnego powtarzalnego przykładu. –

+0

Wersja demonstracyjna RStudio, której używam, to wersja 0.98.894. Zaktualizowałem wszystkie pakiety. Aby utworzyć minimalny powtarzalny przykład, spróbuj sam utworzyć ten sam problem przy użyciu mniejszego dokumentu. Próbowałem, ale nie było problemu (plik był łatwy w dzianinie z lub bez 'cache = TRUE') w mniejszych dokumentach. Nie wiem, co dokładnie powstrzymuje pandoc, aby przekonwertować plik md do html. Błąd wynosi 97. Przeszukałem go, ale nie mogłem znaleźć żadnych informacji. Proszę przewodnika. –

+0

Zaktualizowałem pakiety ponownie i teraz R nie może znaleźć żadnej paczki! Wracam do starszej wersji. To wydaje się być jedynym rozwiązaniem na razie. –

Odpowiedz

7

ten może służyć jedynie jako komentarz, ale pracował dla mnie.

Ponieważ pierwotnie stworzyłem projekt i dokument Markdown w starszej wersji RStudio (0.98.501), a następnie przełączyłem się na wersję podglądu, wydaje mi się, że konieczne stało się określenie ścieżki rysunku i pamięci podręcznej w opcjach porcji. Tak, ja po:

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

Teraz nie muszę zachować cache=FALSE na drutach HTML. W wersji zapoznawczej mogę teraz łatwo tworzyć spis treści i zmieniać motyw.