Jak mogę dołączyć wbudowany kod R
, który odnosi się do nazwy zmiennej, która zawiera spacje lub inne nietypowe znaki (rzeczywisty przypadek użycia to Pr(>F)
)? Backticks are the solution w zwykłym skrypcie R
, ale wydaje się, że nie działają, gdy kod jest wstawiany w dokumencie docenionym. Oto przykład:Użyj nazwy zmiennej ze spacjami w linii R markdown
```{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]`
który podczas dzianiny daje:
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
pamiętać, że jest inna od showing the backticks. Wszystko, co chcę zrobić, to wykonanie kodu, gdy dokument jest dziany. Moim rozwiązaniem jest przypisanie wartości zmiennej o niepoprawnej nazwie do innego obiektu z prostą nazwą w kawałku poprzedzającym kod wbudowany. Ale jestem ciekawy, jak bezpośrednio wywoływać te obiekty z nietypowymi nazwami.
Dzięki! Tak proste, jestem zakłopotany, nie próbowałem tego w moim szaleństwie z innymi metodami! – Ben
przypuszczalnie istnieją inne instancje (ggplot?), W których to się nie powiedzie; Nie sądzę, aby dopasowanie wzoru Knitra mogło obsłużyć zagnieżdżone backticks, jak również przecenę waniliową, niestety. – baptiste
@baptiste Masz rację. knitr nie może obsłużyć zagnieżdżonych pleców. Zatrzyma się zaraz po drugim backtick. –