首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >以统计信息作为行,变量作为列的多变量的汇总统计?

以统计信息作为行,变量作为列的多变量的汇总统计?
EN

Stack Overflow用户
提问于 2021-05-18 15:54:26
回答 4查看 1.6K关注 0票数 3

我正在尝试使用dplyr::the ()和dplyr::in ()来获得带有行和列中变量的几个汇总统计信息的tibble。我只能通过使用dplyr::bind_rows()实现这一结果,但我想知道是否有一种更优雅的方法来获得相同的输出。

代码语言:javascript
运行
复制
> library(tidyverse)
── Attaching packages ────────────────────────────────────────────── tidyverse 1.3.1 ──
✔ ggplot2 3.3.3     ✔ purrr   0.3.4
✔ tibble  3.1.1     ✔ dplyr   1.0.6
✔ tidyr   1.1.3     ✔ stringr 1.4.0
✔ readr   1.4.0     ✔ forcats 0.5.1
── Conflicts ───────────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
> 
> bind_rows(min = summarize(starwars, across(where(is.numeric), min, 
+       na.rm = TRUE)), 
+   median = summarize(starwars, across(where(is.numeric), median, 
+       na.rm = TRUE)), 
+   mean = summarize(starwars, across(where(is.numeric), mean, na.rm = TRUE)), 
+   max = summarize(starwars, across(where(is.numeric), max, na.rm = TRUE)), 
+   sd = summarize(starwars, across(where(is.numeric), sd, na.rm = TRUE)), 
+   .id = "statistic")
# A tibble: 5 x 4
  statistic height   mass birth_year
  <chr>      <dbl>  <dbl>      <dbl>
1 min         66     15          8  
2 median     180     79         52  
3 mean       174.    97.3       87.6
4 max        264   1358        896  
5 sd          34.8  169.       155. 

为什么不能直接做总结呢?似乎比使用一个函数列表更优雅,正如共线小体所建议的。这是否违反了整洁数据框架的原则?(在我看来,把一堆数据帧放在一起看上去不那么整齐。)

EN

Stack Overflow用户

发布于 2021-05-18 16:08:10

您可以使用gtsummary来总结数据。下面是数值列的子集(尽管gtsummary处理许多不同的数据类型)。然后,我告诉类型参数将我的摘要统计数据放在不同的行上,最后告诉我想要显示的汇总参数。

代码语言:javascript
运行
复制
library(tidyverse)
library(gtsummary)

starwars[sapply(starwars, is.numeric)] %>% 
    tbl_summary(type = all_continuous() ~ "continuous2",
                statistic = all_continuous() ~ c("{median} ({p25}, {p75})",
                                                 "{min}, {max}",
                                                 "{mean},{sd}"))
票数 1
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67589798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档