You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何先执行字符串中的嵌入式R代码,再解析为Markdown并转HTML?

解决字符串中嵌入R代码的执行与Markdown转HTML问题

我们需要处理一段包含嵌入式R代码(格式为r 代码)的字符串,先执行这些嵌入式代码并替换为实际结果,再将处理后的字符串解析为Markdown并转换为HTML,得到预期输出。示例场景代码如下:

foo <- 6
bar <- "kg"
str <- "The *value* is `r foo` DKK per `r bar`"
# str <- eval_inline(str)   # 缺少执行嵌入式R代码的函数
# (推测knitr包中存在相关解决方案)
cat(markdown::mark_html(str))
# 期望的<p>标签输出:<p>The <em>value</em> is 6 DKK per kg</p>
# 而非:<p>The <em>value</em> is <code>r foo</code> DKK per <code>r bar</code></p>

解决方案

使用knitr包的knit_expand()函数可以识别并执行字符串中的嵌入式R代码,替换为实际运行值,之后再用markdown::mark_html()完成Markdown到HTML的转换。

完整实现代码

library(knitr)
library(markdown)

foo <- 6
bar <- "kg"
str <- "The *value* is `r foo` DKK per `r bar`"

# 执行嵌入式R代码,替换为实际结果
str_processed <- knit_expand(text = str)

# 将处理后的Markdown字符串转换为HTML
cat(mark_html(str_processed))

输出结果

运行代码后会得到预期的HTML输出:

<p>The <em>value</em> is 6 DKK per kg</p>

内容的提问来源于stack exchange,提问作者Relund

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 21:49:56