如何将R中的日期对象插入flexdashboard标题?
解决flexdashboard标题插入动态日期的正确方法
错误点修正
你原来的YAML写法存在几个问题:
- 参数块的键应该是
params而非param paste0语法错误:缺少闭合括号,且未正确引用变量- 不能直接在YAML的params中用
print(from_date_to_date)赋值,语法不符合YAML规范
两种可行方案
方案一:直接在YAML标题中嵌入R代码
通过!expr标记让YAML解析R代码,直接生成包含日期的标题:
--- title: !expr paste0("Metrics ", unique(data_metrics$month_data_generated)) output: flexdashboard::flex_dashboard: theme: simplex vertical_layout: scroll orientation: rows ---
方案二:通过params传递动态值
适合需要复用日期变量的场景,先在YAML中定义参数,再在前置代码块中赋值:
--- title: !expr paste0("Metrics ", params$from_date_to_date) output: flexdashboard::flex_dashboard: theme: simplex vertical_layout: scroll orientation: rows params: from_date_to_date: NULL # 初始化参数 --- ```{r setup, include=FALSE} # 生成日期变量并赋值给params from_date_to_date <- unique(data_metrics$month_data_generated) params$from_date_to_date <- from_date_to_date
### 说明 两种方案都能实现将动态生成的日期插入标题,方案一更简洁,方案二更灵活,便于在文档其他地方复用`from_date_to_date`变量。 内容的提问来源于stack exchange,提问作者GaB
相关产品推荐
相关产品推荐

