【问题标题】:Verbatim code chunks with double quotation marks in RMarkdownRMarkdown 中带有双引号的逐字代码块
【发布时间】:2020-10-10 15:42:43
【问题描述】:

正如@Yihui 的R Markdown Cookbook 中的4.7 Verbatim code chunks 所示,我们可以逐字显示内联表达式, `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
```
-->

【问题讨论】:

  • 你有没有试过这样:"coef(summary(model))['(Intercept)', 'Estimate']" 或其他方式加引号:'coef(summary(model))["(Intercept)", "Estimate"]'
  • 感谢您的建议,尤其是后者非常适合我!我将您的第二种方式与@duckmayr 的答案合并。

标签: r r-markdown verbatim


【解决方案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\"]")`

在 cmets 中,@monte 提供了另一种解决方案,即交替单引号和双引号:knitr::inline_expr('coef(summary(model))["(Intercept)", "Estimate"]')

【讨论】:

    猜你喜欢
    • 2013-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多