首页 > 解决方案 > 显示 R summary() 更清晰地输出为表格数据

问题描述

是否有一种干净/html 的方式来显示 Rsummary()函数的表格结果?这是常规输出。鉴于...

summary(diamonds)

产量...

     depth           table           price               x               y                z             carat       
 Min.   :44.00   Min.   :50.10   Min.   :  335.0   Min.   :3.810   Min.   : 3.780   Min.   :2.320   Min.   :0.2000  
 1st Qu.:61.10   1st Qu.:56.00   1st Qu.:  928.8   1st Qu.:4.700   1st Qu.: 4.700   1st Qu.:2.900   1st Qu.:0.4000  
 Median :61.80   Median :57.00   Median : 2376.0   Median :5.690   Median : 5.700   Median :3.520   Median :0.7000  
 Mean   :61.75   Mean   :57.41   Mean   : 3882.8   Mean   :5.718   Mean   : 5.735   Mean   :3.532   Mean   :0.7909  
 3rd Qu.:62.50   3rd Qu.:59.00   3rd Qu.: 5325.2   3rd Qu.:6.540   3rd Qu.: 6.540   3rd Qu.:4.040   3rd Qu.:1.0400  
 Max.   :73.60   Max.   :69.00   Max.   :18806.0   Max.   :9.660   Max.   :58.900   Max.   :8.060   Max.   :3.5100  

也许使用ggtabledisplayR包装?可能,但我不知道如何将输出转换为表格。任何帮助都会很棒。谢谢。

标签: rdplyrtabularsummary

解决方案


如果您只需要数字变量的摘要,您可以尝试

library(dplyr)
library(psych)

diamonds %>%
  select(where(is.numeric)) %>%
  psych::describe(quant = c(.25, .75)) %>%
  as_tibble(rownames = "rowname")

  rowname  vars     n     mean       sd  median  trimmed      mad   min      max    range    skew kurtosis       se  Q0.25   Q0.75
  <chr>   <int> <dbl>    <dbl>    <dbl>   <dbl>    <dbl>    <dbl> <dbl>    <dbl>    <dbl>   <dbl>    <dbl>    <dbl>  <dbl>   <dbl>
1 carat       1 53940    0.798    0.474    0.7     0.735    0.474   0.2     5.01     4.81  1.12      1.26   0.00204   0.4     1.04
2 depth       2 53940   61.7      1.43    61.8    61.8      1.04   43      79       36    -0.0823    5.74   0.00617  61      62.5 
3 table       3 53940   57.5      2.23    57      57.3      1.48   43      95       52     0.797     2.80   0.00962  56      59   
4 price       4 53940 3933.    3989.    2401    3159.    2476.    326   18823    18497     1.62      2.18  17.2     950    5324.  
5 x           5 53940    5.73     1.12     5.7     5.66     1.38    0      10.7     10.7   0.379    -0.618  0.00483   4.71    6.54
6 y           6 53940    5.73     1.14     5.71    5.66     1.36    0      58.9     58.9   2.43     91.2    0.00492   4.72    6.54
7 z           7 53940    3.54     0.706    3.53    3.49     0.845   0      31.8     31.8   1.52     47.1    0.00304   2.91    4.04

选择其中一些可以像

diamonds %>%
  select(where(is.numeric)) %>%
  psych::describe(quant = c(.25, .75)) %>%
  as_tibble(rownames = "rowname") %>%
  select(var=rowname, min, q25=Q0.25, median, q75=Q0.75, max, mean, sd) 

  var     min    q25  median     q75      max     mean       sd
  <chr> <dbl>  <dbl>   <dbl>   <dbl>    <dbl>    <dbl>    <dbl>
1 carat   0.2   0.4     0.7     1.04     5.01    0.798    0.474
2 depth  43    61      61.8    62.5     79      61.7      1.43 
3 table  43    56      57      59       95      57.5      2.23 
4 price 326   950    2401    5324.   18823    3933.    3989.   
5 x       0     4.71    5.7     6.54    10.7     5.73     1.12 
6 y       0     4.72    5.71    6.54    58.9     5.73     1.14 
7 z       0     2.91    3.53    4.04    31.8     3.54     0.706

推荐阅读