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

在R Markdown中嵌入ADF检验结果knit成PDF报错的解决咨询

问题描述

我尝试在R Markdown中嵌入ADF检验结果并编译为PDF,使用的代码如下:

```{r, Test for unit root, echo=F, include = T, message= F, warning=F}
#ADF test
adf.test(output_day$output)
编译时返回错误:`You can't use macro parameter character #' in horizontal mode`,猜测是LaTeX格式化问题,该如何解决?

## 解决方法
这个错误根源是代码块名称含空格,且ADF输出中的`#`字符被LaTeX误解析为宏命令参数,以下是两种可行的修正方案:

### 方案一:修正chunk名称+用LaTeX环境包裹输出
1. 将代码块名称`Test for unit root`改为无空格的格式(比如`unit_root_test`),避免LaTeX解析空格时出错;
2. 用LaTeX的`verbatim`环境包裹ADF检验的输出,让LaTeX把内容当作纯文本解析,跳过宏命令识别:
```r
```{r unit_root_test, echo=F, include=T, message=F, warning=F}
library(tseries)
# 先保存检验结果
adf_result <- adf.test(output_day$output)
# 用verbatim环境包裹输出
cat("\\begin{verbatim}\n")
print(adf_result)
cat("\\end{verbatim}\n")
### 方案二:用`broom`+`knitr`生成格式化表格(推荐)
如果需要更美观的PDF输出,可借助`broom`包将检验结果转为结构化数据框,再用`kable`生成符合LaTeX规范的表格:
```r
```{r unit_root_test, echo=F, include=T, message=F, warning=F}
library(tseries)
library(broom)
library(knitr)

# 执行ADF检验并转为整洁格式
adf_tidy <- tidy(adf.test(output_day$output))
# 生成LaTeX表格
kable(adf_tidy, format = "latex", caption = "ADF单位根检验结果", booktabs = TRUE)
内容的提问来源于stack exchange,提问作者Jianing Shao
相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 00:12:33