【问题标题】:sort tibble rows by descending count of NAs按 NA 的递减计数对 tibble 行进行排序
【发布时间】:2019-08-03 18:05:53
【问题描述】:

抱歉,如果我错过了之前询问过的地方 - 我找不到它。我正在学习 tibbles 和动词 arrange。我想知道是否有一种更有效的方法来arrange 行按总行数的降序排列然后我在下面做了?我正在使用nycflights13 数据集。

library(nycflights13)
library(tidyverse)

options(tibble.width = Inf)
flights$na_count <- flights %>% is.na %>% rowSums
arrange(flights, desc(na_count))

部分结果:

我查看了帮助中心,这似乎是一个主题,尽管我知道工作代码通常是代码审查的候选者。

【问题讨论】:

    标签: r sorting tibble


    【解决方案1】:

    不确定是否效率更高,但是,您可以将其重写为:

    flights %>% 
     arrange(desc(rowSums(is.na(.))))
    

    【讨论】:

    • 这是一个基本的等价物:flights[order(-xtfrm(rowSums(is.na(flights)))),]。 desc 等价于 -xtfrm。
    • Base R 方法也可以在stackoverflow.com/questions/24093446/…@Cole 中找到
    • 谢谢 - 请注意该链接用于默认增加。但是,我忘记了 order() 有一个 decreasing 参数:flights[order(rowSums(is.na(flights)), decreasing = T), ]
    • @Cole 感谢您提供有趣的附加信息。
    猜你喜欢
    • 2014-07-28
    • 2021-11-21
    • 2022-01-10
    • 1970-01-01
    • 2022-11-27
    • 1970-01-01
    • 2021-12-27
    • 2018-06-08
    • 2018-02-05
    相关资源
    最近更新 更多