2014-08-27 16 views
5

wydaje mi się, odkryli dziwne zachowanie z poleceniem dzianiny słowo w RStudioRstudio nie czyni działek z dzianiny Słowo

to działa:

```{r qplot, fig.width = 6, fig.height=6, message=FALSE} 
library(ggplot2) 
summary(cars) 
qplot(speed, dist, data = cars) + geom_smooth() 
```` 

to nie działa

```{r q plot, fig.width = 6, fig.height=6, message=FALSE} 
library(ggplot2) 
summary(cars) 
qplot(speed, dist, data = cars) + geom_smooth() 
``` 

zwrócenie tej wiadomości:

pandoc.exe: Could not find image `./test_files/figure-docx/q%20plot.png', skipping... 

Problem wydaje się być związany z nazwą porcji (np. qplot vs. q plot). Jeśli w nazwie fragmentu znajduje się spacja, wykres nie jest renderowany.

Wygląda na to, że wpływa tylko na renderowanie dokumentów Word. Rendering html działa dobrze.

Używam RStudio 0.98.1028 i R3.1.1 na windows 7.

Czy ktoś napotkał ten problem?

aktualizacja

spacja po nazwie fragment wydaje się również, aby wywołać ten sam problem:

to nie działa

```{r q_plot , fig.width = 6, fig.height=6, message=FALSE} 
library(ggplot2) 
summary(cars) 
qplot(speed, dist, data = cars) + geom_smooth() 
``` 
+0

W 'knitr'' R Chunk codes' muszą mieć unikalne 'etykiety'. – MYaseen208

+0

Dobra uwaga. To jest fałszywy kod, aby pokazać błąd. Otrzymuję tę samą odpowiedź w prawdziwym kodzie z unikalnymi nazwami. – Chris

+1

nie jest wcale zaskakujące, że kończy się niepowodzeniem z spacją w nazwie kawałka - zgaduję, że gdzieś w dokumentacji "knitr" ostrzega przed używaniem spacji (i znaków specjalnych, takich jak/lub: i ewentualnie.?) W nazwy kawałków. Problem z przestrzenią między nazwą a przecinkiem jest bardziej zaskakujący, ale - czy nie jest odpowiedzią na to pytanie "dobrze, nie rób tego" ...? Czy masz przypadek użycia, gdy jest to poważny problem? –

Odpowiedz

3

zaksięgowania rozwiązanie w przypadku gdy ktoś biegnie to w przyszłość.

Od Ben Bolker w komentarzach Avoid spaces and periods . in chunk labels and directory names zgodnie z dokumentacją knitr http://yihui.name/knitr/options.

Ten błąd ma jedynie wpływ na tworzenie wykresów za pomocą knitWord. Fragmenty kodu z labels zawierające spacje i bez poleceń do drukowania renderują się normalnie. knitHTML również działa dobrze bez względu na to, czy fragment labels ma spację, czy nie.

0
# Let's make a plot 
```{r ugly plot} 
plot(btc_prices) 
``` 

powinny być widocznie

# Let's make a plot 
```{r ugly_plot} 
plot(btc_prices) 
``` 

więc nie obowiązuje ... inaczej będziesz tracić godzin googlowania i płacze.

+1

jak to poprawić/dodać do informacji w istniejącej odpowiedzi ... ??? –