首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以订购(dplyr安排)skim_df对象的平均值?

是否可以订购(dplyr安排)skim_df对象的平均值?
EN

Stack Overflow用户
提问于 2019-10-25 14:55:16
回答 2查看 170关注 0票数 0

我正在使用包skimr总结所有的逻辑数据,所以我很自然地想按平均值排序结果,从最大到最小。

我已经尝试为dplyr将撇除函数输送到arrange,但这不起作用。

我们只是在一个数据框架上使用skim函数,这些数据帧都是布尔人/逻辑逻辑。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-25 15:54:48

我试过了,看起来一切都像我想的那样。skim_df是从data.frame继承而来的,我不明白为什么dplyr函数不能在它上工作。

代码语言:javascript
复制
set.seed(123)
df <- data.frame(a = sample(c(T,F), 50, replace = TRUE),
              b = c(rep(F,25), sample(c(T,F), 25, replace = TRUE)),
              c = c(rep(T,25), sample(c(T,F), 25, replace = TRUE)))

sdf <- skimr::skim(df) %>%
     dplyr::filter(stat == "mean") %>% dplyr::arrange(desc(value))

sdf

输出

代码语言:javascript
复制
variable type    stat  level value formatted
  <chr>    <chr>   <chr> <chr> <dbl> <chr>    
1 c        logical mean  .all   0.8  0.8      
2 a        logical mean  .all   0.5  0.5      
3 b        logical mean  .all   0.26 0.26 

我不知道你有什么问题。仔细检查代码中是否有明显的错误。

票数 1
EN

Stack Overflow用户

发布于 2019-11-14 05:53:55

以下是v2的答案。在v2中,浏览对象不再是长对象。在这里,select()将浏览对象转换为常规的tibble (focus()),将其保持为skimr对象)。

代码语言:javascript
复制
skim(df) %>% dplyr::select(skim_variable, logical.mean) %>% 
             dplyr::arrange(desc(logical.mean)) 
# A tibble: 3 x 2
  skim_variable logical.mean
  <chr>                <dbl>
1 c                     0.7 
2 a                     0.6 
3 b                     0.34

另一个选择

代码语言:javascript
复制
skim(df) %>% skimr::focus(skim_variable, logical.mean) %>% 
             dplyr::arrange(desc(logical.mean)) %>% as.data.frame()

  skim_type skim_variable logical.mean
1   logical             c         0.70
2   logical             a         0.60
3   logical             b         0.34

让两个元列就位。as.data.frame()是防止摘要打印的一种方法,但您也可以告诉它打印不包括摘要。

代码语言:javascript
复制
skim(df) %>% skimr::focus(skim_variable, logical.mean) %>% 
             dplyr::arrange(desc(logical.mean)) %>% 
             print(include_summary = FALSE)

── Variable type: logical ────────────────────────────────────────────────────────────────
  skim_variable  mean
1 c              0.7 
2 a              0.6 
3 b              0.34
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58560928

复制
相关文章

相似问题

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