r语言 - 为什么summary_table函数在 markdown 中生成一个与它编织为 HTML 时不同的表



初学者问题在这里,如果这是一个明显的错误,很抱歉。我使用 R 包 qwraps2 中的 summary_table 函数生成了一个汇总统计信息表。当我在 markdown 中运行代码时,它会按预期生成表,但是当我尝试将 rmd 编织为 html 以在 rpubs 上发布时,它如下所示:

## |Summary Statistics               |ESS (N = 73)                    |
## |:--------------------------------|:-------------------------------|
## |**Alcohol drunk at the weekend** |                      |
## |   variable            |interval                        |

等等...

(表格应类似于这些表:https://cran.r-project.org/web/packages/qwraps2/vignettes/summary-statistics.html(

我知道我已经将qwraps2_markup编码为等于"markdown",但我不确定如何在不这样做的情况下创建相同的表。

```{r}
options(qwraps2_markup = 'markdown')
our_summary <-
  list("Alcohol drunk at the weekend" = 
         list("variable" =~ c("interval"),
              "min" = ~ min(ESS$alcwknd),
              "median" = ~ median(ESS$alcwknd),
              "max" = ~ max(ESS$alcwknd),
              "mean (sd)" = ~ qwraps2::mean_sd(ESS$cgtsday)),
       "Cigarettes smoked" =
         list("variable" =~ c("interval"),
              "min" = ~ min(ESS$cgtsday),
              "median" = ~ median(ESS$cgtsday),
              "max" = ~ max(ESS$cgtsday),
              "mean (sd)" = ~ qwraps2::mean_sd(ESS$cgtsday)),
       "Age" = 
         list("variable" =~ c("Interval"),
              "min" = ~ min(ESS$agea),
              "median" = ~ median(ESS$agea),
              "max" = ~ max(ESS$agea),
              "mean (sd)" = ~ qwraps2::mean_sd(ESS$agea)),
       "Time helping others" =
         list("variable" =~ c("Ratio"),
              "mode" =~ time_mode),
        "Felt Depressed" =
         list("variable" =~ c("Ordinal"),
              "mode" =~ dpr_mode),
       "Main Activity" =
         list("variable" =~ c("Categorical"),
              "mode" =~ act_mode))

tab <- summary_table(ESS, our_summary)
print(tab, rtitle = "Summary Statistics")
```

任何帮助都非常感谢,提前感谢。

如问题下的评论中所述,此问题的解决方案是为 knitr 设置正确的代码块选项。 knitr 中的默认设置是使用 results = 'markup' 报告代码块的结果,这会导致输出看起来像 R 控制台。 results = "asis"将"将 R 的原始结果写入输出文档",这意味着将 markdown 放入 .RMD 或乳胶放入.tex文件中。

```{r, results = "asis"}
options(qwraps2_markup = 'markdown')
our_summary <-
  list("Alcohol drunk at the weekend" = 
         list("variable" =~ c("interval"),
              "min" = ~ min(ESS$alcwknd),
              "median" = ~ median(ESS$alcwknd),
              "max" = ~ max(ESS$alcwknd),
              "mean (sd)" = ~ qwraps2::mean_sd(ESS$cgtsday)),
       "Cigarettes smoked" =
         list("variable" =~ c("interval"),
              "min" = ~ min(ESS$cgtsday),
              "median" = ~ median(ESS$cgtsday),
              "max" = ~ max(ESS$cgtsday),
              "mean (sd)" = ~ qwraps2::mean_sd(ESS$cgtsday)),
       "Age" = 
         list("variable" =~ c("Interval"),
              "min" = ~ min(ESS$agea),
              "median" = ~ median(ESS$agea),
              "max" = ~ max(ESS$agea),
              "mean (sd)" = ~ qwraps2::mean_sd(ESS$agea)),
       "Time helping others" =
         list("variable" =~ c("Ratio"),
              "mode" =~ time_mode),
        "Felt Depressed" =
         list("variable" =~ c("Ordinal"),
              "mode" =~ dpr_mode),
       "Main Activity" =
         list("variable" =~ c("Categorical"),
              "mode" =~ act_mode))

tab <- summary_table(ESS, our_summary)
print(tab, rtitle = "Summary Statistics")
```

相关内容

最新更新