更改skim打印汇总函数的顺序

Del*_*aIV 5 printing r summary r-markdown skimr

我正在使用skimr,并且将两个汇总函数(iqr_na_rmmedian_na_rm)添加到该函数的汇总函数列表中skim。但是,默认情况下,这些新的汇总函数(skimmersskimr文档中调用)出现在表的末尾。相反,我希望 medianiqr出现在mean和之后sd之后。

.Rmd最终目标是在如下报告中显示结果:

---
title: "Test"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(warning = FALSE, 
                      message = FALSE,
                      echo    = FALSE)
```

## Test

```{r test, results = 'asis'}
library(skimr)
library(dplyr)
library(ggplot2)

iqr_na_rm <- function(x) IQR(x, na.rm = TRUE)
median_na_rm <- function(x) median(x, na.rm = TRUE)

skim_with(numeric = list(p50 = NULL, median = median_na_rm, iqr = iqr_na_rm),
          integer = list(p50 = NULL, median = median_na_rm, iqr = iqr_na_rm))

msleep %>%
  group_by(vore) %>%
  skim(sleep_total) %>%
  kable()

```
Run Code Online (Sandbox Code Playgroud)

呈现的 HTML:

在此输入图像描述

正如您所看到的,medianiqr被打印在表格末尾,在迷你图直方图之后。sd我希望它们在之前和之后打印p0。是否可以?

Pie*_*nte 3

输出中有两部分skim()。如果你想控制数字部分,你可以skim_to_list这样使用。以其他格式导出也更容易。

\n\n
msleep %>%\n  group_by(vore) %>%\n  skim_to_list(sleep_total)%>%\n  .[["numeric"]]%>%\n  dplyr::select(vore,variable,missing,complete,n,mean,sd,\n                median,iqr,p0,p25,p75,p100,hist)\n\n# A tibble: 5 x 14\n  vore    variable    missing complete n     mean    sd     median iqr     p0    p25    p75     p100   hist    \n* <chr>   <chr>       <chr>   <chr>    <chr> <chr>   <chr>  <chr>  <chr>   <chr> <chr>  <chr>   <chr>  <chr>   \n1 carni   sleep_total 0       19       19    10.38   4.67   10.4   " 6.75" 2.7   6.25   "13   " 19.4   \xe2\x96\x83\xe2\x96\x87\xe2\x96\x82\xe2\x96\x87\xe2\x96\x86\xe2\x96\x83\xe2\x96\x82\xe2\x96\x83\n2 herbi   sleep_total 0       32       32    " 9.51" 4.88   10.3   " 9.92" 1.9   "4.3 " 14.22   16.6   \xe2\x96\x86\xe2\x96\x87\xe2\x96\x81\xe2\x96\x82\xe2\x96\x82\xe2\x96\x86\xe2\x96\x87\xe2\x96\x85\n3 insecti sleep_total 0       5        5     14.94   5.92   18.1   "11.1 " 8.4   "8.6 " "19.7 " 19.9   \xe2\x96\x87\xe2\x96\x81\xe2\x96\x81\xe2\x96\x81\xe2\x96\x81\xe2\x96\x81\xe2\x96\x83\xe2\x96\x87\n4 omni    sleep_total 0       20       20    10.93   2.95   " 9.9" " 1.83" "8  " "9.1 " 10.93   "18  " \xe2\x96\x86\xe2\x96\x87\xe2\x96\x82\xe2\x96\x81\xe2\x96\x81\xe2\x96\x81\xe2\x96\x81\xe2\x96\x82\n5 NA      sleep_total 0       7        7     10.19   "3   " 10.6   " 3.5 " 5.4   8.65   12.15   13.7   \xe2\x96\x83\xe2\x96\x83\xe2\x96\x81\xe2\x96\x81\xe2\x96\x83\xe2\x96\x87\xe2\x96\x81\xe2\x96\x87\n
Run Code Online (Sandbox Code Playgroud)\n\n

编辑

\n\n

kable()按照评论中的要求添加。

\n\n
msleep %>%\n  group_by(vore) %>%\n  skim_to_list(sleep_total)%>%\n  .[["numeric"]]%>%\n  dplyr::select(vore,variable,missing,complete,n,mean,sd,median,iqr,p0,p25,p75,p100,hist)%>%\n  kable()\n\n|  vore   |  variable   | missing | complete | n  | mean  |  sd  | median | iqr  | p0  | p25  |  p75  | p100 |   hist   |\n|---------|-------------|---------|----------|----|-------|------|--------|------|-----|------|-------|------|----------|\n|  carni  | sleep_total |    0    |    19    | 19 | 10.38 | 4.67 |  10.4  | 6.75 | 2.7 | 6.25 |  13   | 19.4 | \xe2\x96\x83\xe2\x96\x87\xe2\x96\x82\xe2\x96\x87\xe2\x96\x86\xe2\x96\x83\xe2\x96\x82\xe2\x96\x83 |\n|  herbi  | sleep_total |    0    |    32    | 32 | 9.51  | 4.88 |  10.3  | 9.92 | 1.9 | 4.3  | 14.22 | 16.6 | \xe2\x96\x86\xe2\x96\x87\xe2\x96\x81\xe2\x96\x82\xe2\x96\x82\xe2\x96\x86\xe2\x96\x87\xe2\x96\x85 |\n| insecti | sleep_total |    0    |    5     | 5  | 14.94 | 5.92 |  18.1  | 11.1 | 8.4 | 8.6  | 19.7  | 19.9 | \xe2\x96\x87\xe2\x96\x81\xe2\x96\x81\xe2\x96\x81\xe2\x96\x81\xe2\x96\x81\xe2\x96\x83\xe2\x96\x87 |\n|  omni   | sleep_total |    0    |    20    | 20 | 10.93 | 2.95 |  9.9   | 1.83 |  8  | 9.1  | 10.93 |  18  | \xe2\x96\x86\xe2\x96\x87\xe2\x96\x82\xe2\x96\x81\xe2\x96\x81\xe2\x96\x81\xe2\x96\x81\xe2\x96\x82 |\n|   NA    | sleep_total |    0    |    7     | 7  | 10.19 |  3   |  10.6  | 3.5  | 5.4 | 8.65 | 12.15 | 13.7 | \xe2\x96\x83\xe2\x96\x83\xe2\x96\x81\xe2\x96\x81\xe2\x96\x83\xe2\x96\x87\xe2\x96\x81\xe2\x96\x87 |\n
Run Code Online (Sandbox Code Playgroud)\n