从 R 中的 Summary() 创建表

时间:2021-01-27 15:49:05

标签: r dataframe

使用通用的 Summary() 函数来获取一些数据。现在我想将一些汇总数据显示到表格中,然后编织成 pdf。如何根据调用 Summary() 函数的结果创建表格?

使用 TeX、kableExtra 和 ggplot2。

summary(segmentdata)
summary(subset(segmentdata, Segment == "Suburb mix"))
summary(subset(segmentdata, Segment == "Urban hip"))
summary(subset(segmentdata, Segment == "Travelers"))
summary(subset(segmentdata, Segment == "Moving up"))

例如数据

年龄性别收入孩子自己的家
最小。 :20.00 长度:300 分钟:-13292 分钟:0.000 长度:300
1st Qu.:32.75 Class :character 1st Qu.: 38122 1st Qu.:0.000 Class :character
中位数:39.00 模式:字符 中位数:51134 中位数:1.000 模式:字符
平均值:40.59 平均值:50259 平均值:1.163
第三区:47.00 第三区:63001 第三区:2.000
最大限度。 :70.00 最大:139679 最大:5.000
订阅段
长度:300 长度:300
类:字符类:字符
模式:字符 模式:字符

1 个答案:

答案 0 :(得分:1)

欢迎使用 StackOverflow。在发布问题以提供具有可重现示例的实际数据时,这是一个很好的做法,以便贡献者可以为您提供帮助。 reprex 包推荐与 R 一起使用。

我会根据我认为您想要实现的目标给您一个答案。我以 iris 数据集为例。

library(tidyverse)
library(kableExtra)

vars <- iris %>% names()
iris %>%
  filter(Species == "setosa") %>%       # subset data
  map_dfr(summary) %>%                  # apply summary to variables
  add_column(vars = vars, .before = 1)  # add variable names

#> # A tibble: 5 x 10
#>   vars  Min.  `1st Qu.` Median Mean  `3rd Qu.` Max.  setosa versicolor virginica
#>   <chr> <tab> <table>   <tabl> <tab> <table>   <tab>  <int>      <int>     <int>
#> 1 Sepa.. 4.3   4.8       5.0    5.006 5.200     5.8       NA         NA        NA
#> 2 Sepa.. 2.3   3.2       3.4    3.428 3.675     4.4       NA         NA        NA
#> 3 Peta.. 1.0   1.4       1.5    1.462 1.575     1.9       NA         NA        NA
#> 4 Peta.. 0.1   0.2       0.2    0.246 0.300     0.6       NA         NA        NA
#> 5 Spec..  NA    NA        NA       NA    NA      NA       50          0         0

有关该过程的更多详细信息,请查看该函数的文档。

对于 kableExtra 输出,在管道末尾添加 kbl() %>% kable_styling()

相关问题