2014-06-29 33 views
5

Satır içi veya diğer sıra dışı karakterler içeren gerçek adı (Pr(>F)) kullanan satır içi R kodunu nasıl ekleyebilirim? Backticks are the solution düz R komut dosyasında, ancak kod bir satır içi belgesinde satır içi olduğunda işe yaramaz. İşte bir örnek: örmeR işaretiyle satır içi boşluklarla bir değişken adı kullanın

```{r} 
df <- data.frame(mydata= 1:10, yourdata = 20:29) 
names(df) <- c("your data", "my data") 

``` 

The first five values of your data are `r df$`your data`[1:5]` 

verir: Bu showing the backticks farklıdır

Quitting from lines 7-9 (test-main.Rmd) 
Error in base::parse(text = code, srcfile = NULL) : 
    2:0: unexpected end of input 
1: df$ 
^
Calls: <Anonymous> ... <Anonymous> -> withVisible -> eval -> parse_only -> <Anonymous> 
Execution halted 

Not söyledi. Tek yapmam gereken, dokümanlar örülürken kodun yürütülmesi. Benim geçici çözümüm, tek satırlı değişkenin değerini satır içi kodun önündeki öbekte basit bir adla başka bir nesneye atamaktır. Ama sıradışı isimlerle bu nesnelere direkt olarak nasıl çağrı yapılacağını merak ediyorum. Normal tırnak kullanabilirsiniz Bu durumda

cevap

11

,

The first five values of your data are `r df$"your data"[1:5]` 

doğrusu

The first five values of your data are `r df[["your data"]][1:5]` 
+0

teşekkürler! Bu kadar kolay, utanıyorum Ben diğer yöntemlerin çılgınlığı içinde denemedim! – Ben

+0

muhtemelen, bunun başarısız olacağı başka örnekler (ggplot?) Var; Knitr'in desen eşleşmesinin maalesef iç içe geçmiş backtick'lerin yanı sıra vanilya işaretleme işlemlerini gerçekleştirebileceğini sanmıyorum. – baptiste

+0

@baptiste Haklısınız. knitr yuvalanmış backticks işlemez. İkinci backtick'ten hemen sonra duracak. –