首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在嵌套和使用tidyverse地图之后,如何消除来自心理包的所有描述性结果?

在嵌套和使用tidyverse地图之后,如何消除来自心理包的所有描述性结果?
EN

Stack Overflow用户
提问于 2021-12-06 20:17:21
回答 1查看 134关注 0票数 0

我有一个带有quest和几个topics的数据集。在应用“描述”功能(来自心理包)之后,我如何以方便的方式列出所有结果?

我得到的结果:

所需的输出如下所示:

代码语言:javascript
复制
ds <- data.frame(quest = c(2,4,6,8), math_sum = rnorm(100,10,1), science_sum = rnorm(100,8,1))

    ds %>% 
        select(quest, ends_with("sum")) %>% 
        pivot_longer(-quest) %>% 
        nest_by(quest, name) %>% 
        mutate(x=list(map(data, ~psych::describe(.)))) %>% 
        unnest(-data)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-06 20:25:26

你可以用unnest_wider()

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

ds %>% 
  select(quest, ends_with("sum")) %>% 
  pivot_longer(-quest) %>% 
  nest_by(quest, name) %>% 
  mutate(x=list(map(data, ~psych::describe(.)))) %>% 
  unnest_wider(x) %>% 
  unnest_wider(value)

这会返回

代码语言:javascript
复制
# A tibble: 8 x 16
  quest name          data  vars     n  mean    sd median trimmed   mad   min   max
  <dbl> <chr>   <list<tib> <dbl> <dbl> <dbl> <dbl>  <dbl>   <dbl> <dbl> <dbl> <dbl>
1     2 math_s~   [25 x 1]     1    25 10.3  1.22   10.1    10.3  0.963  7.96 12.9 
2     2 scienc~   [25 x 1]     1    25  7.55 1.00    7.48    7.56 1.19   5.49  9.22
3     4 math_s~   [25 x 1]     1    25  9.59 0.998   9.50    9.58 0.858  7.31 11.6 
4     4 scienc~   [25 x 1]     1    25  8.07 1.28    8.24    8.01 1.70   6.13 10.6 
5     6 math_s~   [25 x 1]     1    25  9.85 0.932   9.79    9.79 0.929  8.50 11.8 
6     6 scienc~   [25 x 1]     1    25  7.80 0.907   7.81    7.79 0.959  6.03  9.69
7     8 math_s~   [25 x 1]     1    25 10.2  1.19   10.4    10.2  1.06   8.09 13.1 
8     8 scienc~   [25 x 1]     1    25  8.01 0.923   7.88    7.99 0.908  6.23  9.87
# ... with 4 more variables: range <dbl>, skew <dbl>, kurtosis <dbl>, se <dbl>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70251429

复制
相关文章

相似问题

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