首页 > 解决方案 > 编织Rmarkdown使AIC四舍五入,同时将回归系数和SE四舍五入到第十位

问题描述

我在 Rmarkdown 的设置中使用以下函数来制作它,以便在编织时将所有内容四舍五入到小数点后两位,但是我如何更改代码以创建一个条件,使得对于 AIC(例如 x>1000)它将四舍五入到那个地方?

谢谢!

使用 mtcars 数据集的最小可重复示例。用气缸的随机因素观察汽车重量对 mpg 的影响。确保在 Rmarkdown 中编织下面的所有内容……如果您只使用 R 中的代码,它将围绕 AIC。

---
output:
  pdf_document: default

---
```{r echo = FALSE, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
knitr::opts_chunk$set(scientific=FALSE)

scientific=FALSE
# knitr::clean_cache()
options(digits=3)

library(tidyverse)
library(lme4)

inline_hook <- function (x) {
  if (is.numeric(x)) {
    # ifelse does a vectorized comparison
    # If integer, print without decimal; otherwise print two places
    res <- ifelse(x == round(x),
      sprintf("%d", x),
      sprintf("%.3f", x)
    )
    paste(res, collapse = ", ")
  }
}
knitr::knit_hooks$set(inline = inline_hook)

mpg <- lmer(mpg~wt + (1|cyl), mtcars, na.action = 'na.exclude', control = lmerControl(optimizer = "nloptwrap", calc.derivs = FALSE), REML = FALSE)
AIC(logLik(mpg))
coef(summary(mpg))[2]
```

AIC = `r AIC(logLik(mpg))`
Effect size = `r coef(summary(mpg))[2]`

标签: r-markdownknitr

解决方案


推荐阅读