Фрагменты кода Verbatim с двойными кавычками в RMarkdown

Как показано в фрагментах кода Verbatim 4.7 в @Yihui R Markdown Cookbook, мы можем показать дословное встроенное выражение, `r knitr::inline_expr("coef(summary(model))")`, например, в нашем вывод RMarkdown. Однако этот knitr::inline_expr() не сможет разобрать код с двойными кавычками, например `r knitr::inline_expr("coef(summary(model))["(Intercept)", "Estimate"]")`. Тогда что мне делать, когда я хочу продемонстрировать дословно, который содержит такие специальные символы?

---
title: "Untitled"
author: "CLRR"
date: "2020/6/20"
documentclass: article
output:
  bookdown::pdf_document2:
    latex_engine: xelatex
    keep_tex: TRUE
---

This verbatim can appear in the output:

`` `r knitr::inline_expr("coef(summary(model))")` ``

<!--
But, if the code contains `"`, the evaluation fails.

`r knitr::inline_expr("coef(summary(model))["(Intercept)", "Estimate"]")`

```
Quitting from lines 2-16 (test.Rmd) 
Error in parse(text = code, keep.source = FALSE) : 
  <text>:1:54: unexpected string constant
1: knitr::inline_expr("coef(summary(model))["(Intercept)", "
                                                         ^
Calls: <Anonymous> ... hook_eval -> withVisible -> eval -> parse_only -> parse
Execution halted
```
-->

person Carlos Luis Rivera    schedule 20.06.2020    source источник
comment
вы пробовали так: "coef(summary(model))['(Intercept)', 'Estimate']" или наоборот с кавычками: 'coef(summary(model))["(Intercept)", "Estimate"]'   -  person monte    schedule 20.06.2020
comment
Спасибо за ваше предложение, и особенно последнее отлично работает для меня! Я объединил ваш второй способ с ответом @duckmayr.   -  person Carlos Luis Rivera    schedule 20.06.2020


Ответы (1)


Вы можете избежать двойных кавычек:

---
title: "Untitled"
author: "CLRR"
date: "2020/6/20"
documentclass: article
output:
  bookdown::pdf_document2:
    latex_engine: xelatex
    keep_tex: TRUE
---

This verbatim can appear in the output:

`r knitr::inline_expr("coef(summary(model))[\"(Intercept)\", \"Estimate\"]")`

введите здесь описание изображения

В комментариях @monte предлагает другое решение, заключающееся в чередовании одинарных и двойных кавычек: knitr::inline_expr('coef(summary(model))["(Intercept)", "Estimate"]')

person duckmayr    schedule 20.06.2020