我正在使用stargazer,我想为一个简单的LaTeX对象生成lm输出。问题是我无法设置align = TRUE而不会出现错误。



我检查了一下,信息说错了。直接将Stargazer输出复制到Latex文档中可以正常工作。将其复制到rmarkdown文档中会产生相同的错误(这不足为奇,但我只是想确定一下)。玩了一段时间后,我发现如果删除了有意义的star(*)(或者精确到rmarkdown),它就可以在^{***}中工作。但是,stargazer默认情况下会生成它们,它们也是输出的重要组成部分。

有办法使它起作用吗?

---
header-includes:
- \usepackage{dcolumn}
output: pdf_document
---

## R Markdown
```{r, include = FALSE}
library(stargazer)
df <- data.frame(x = 1:10 + rnorm(100),
                 y = 1:10 + rnorm(100))
reg <- lm(y ~ x, data = df)
```

```{r, results='asis', echo = FALSE}
stargazer(reg, header = FALSE, align = TRUE)
```

最佳答案

在linux系统上,将stargazer包装在invisiblesuppressMessages内可以抑制原本会渲染的垃圾。不幸的是,这种解决方案似乎在Windows计算机上不起作用。

---
header-includes:
- \usepackage{dcolumn}
output: pdf_document
---

## R Markdown
```{r, include = FALSE}

library(stargazer)
df <- data.frame(x = 1:10 + rnorm(100),
                 y = 1:10 + rnorm(100))
reg <- lm(y ~ x, data = df)
```

```{r, results='asis', echo = FALSE}
invisible(stargazer(reg, header = FALSE, align = TRUE))
# suppressMessages(stargazer(reg, header = FALSE, align = TRUE)) # also works
```

r - 观星者Rmarkdown : LaTeX Error if align is set to TRUE-LMLPHP

原因是(来自帮助页面)



我们使用suppressMessagesinvisible来确保仅呈现第一个输出(由cat生成)。当rmarkdown尝试使用print而不是cat呈现字符向量时,字符向量输出变为垃圾

关于r - 观星者Rmarkdown : LaTeX Error if align is set to TRUE,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38836729/

10-12 20:45