2013-04-16 10 views
7

Jak dołączyć zmienną za pomocą wyrażenia wbudowanego z knitr.Dołącz wstępnie zdefiniowaną zmienną za pomocą wbudowanego kodu z knitr

Na przykład, to działa zgodnie z oczekiwaniami:

A random number from the normal distribution `r rnorm(1)`. 

Ale jeśli chcesz wydrukować predefiniowany ciąg/numer:

```{r} 
company <- "ABC Co" 
``` 

Some text about `r company` 

Nic nie jest drukowany po drutach. Czy jest coś, co musi być owinięty


Aktualizacja Session Information, jak na zamówienie:

R version 3.0.0 (2013-04-03) 
Platform: x86_64-pc-linux-gnu (64-bit) 

locale: 
[1] LC_CTYPE=en_CA.UTF-8  LC_NUMERIC=C    LC_TIME=en_CA.UTF-8  LC_COLLATE=en_CA.UTF-8  
[5] LC_MONETARY=en_CA.UTF-8 LC_MESSAGES=en_CA.UTF-8 LC_PAPER=C     LC_NAME=C     
[9] LC_ADDRESS=C    LC_TELEPHONE=C    LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] slidify_0.3.3 knitr_1.2  

loaded via a namespace (and not attached): 
[1] digest_0.6.3 evaluate_0.4.3 formatR_0.7 markdown_0.5.4 stringr_0.6.2 tools_3.0.0 whisker_0.1 
[8] yaml_2.1.7 
+0

działa prawidłowo dla mnie knitr 0,9 i knitr 1.2 na Ubuntu. To ma powiedzieć "Jakiś tekst o ABC Co", prawda? – GSee

+0

Nie musisz tego w nic pakować? –

+0

Skopiowałem i wkleiłem dokładnie to, co dostarczyłeś – GSee

Odpowiedz

7

Owijanie zmienną w I() sprawia, że ​​działa zgodnie z oczekiwaniami.

```{r} 
company <- "ABC Co" 
``` 

Some text about `r I(company)` 

Chociaż nie jawne dla .Rmd, to jest udokumentowane tutaj: http://yihui.name/knitr/demo/output/

+1

Interesujące. Tak jak powiedział @GSee, nie potrzebuję też 'I()'; "r company" działa dla mnie (zamień pojedyncze cytaty na backticks - nie mogę tu wpisać backticksów). Jaka jest twoja wersja "knitr"? –

+0

Używam 1.2. Ale używam również suwaków, więc może to być związane z tym, a nie z dzianiną. –

+0

Przetestowałem zarówno 'knit()' i 'slidify()'. Nadal nie widziałem żadnych problemów z twoim oryginalnym przykładem. Jeśli 'update.packages()' nie działa, opublikuj 'library (knitr); biblioteka (przesuwanie); sessionInfo() ' –

Powiązane problemy