r - 如何在R中的一个区间内计算 'number of values of a particular variable of a tibble'?

标签 r dplyr

需要的包

'dplyr'

'纽约航类13'

我正在使用的tibble是

 q4<-flights%>%group_by(year,month,day)%>%summarise(cancelled=sum(is.na(dep_time)),avg_delay=mean(arr_delay,na.rm = T),totalflights=n())

 q4<-q4%>%mutate(prop=cancelled/totalflights)

使用

q4%>%ungroup()%>%count(prop)

给我

     # A tibble: 342 x 2
       prop     n
       <dbl> <int>
    1 0           7
    2 0.00101     1
    3 0.00102     2
    4 0.00102     1
    5 0.00102     1
    6 0.00102     1
    7 0.00103     1
    8 0.00103     1
    9 0.00104     1
    10 0.00104     1
    # ... with 332 more rows

有没有一种方法可以(不使用 for 循环等强力逻辑) 获得所需形式的输出,我正在寻找单行或两行解决方案。 dplyr 中是否有一个函数可以做到这一点??

期望的输出:

     # A tibble: X x Y
       prop     n
       <dbl> <int>
    1 0-0.1       45          #random numbers
    2 0.1-0.2     54
    3 0.2-0.3     23

最佳答案

下面,我使用 cut 对数据进行分箱,然后使用 table 对每个分箱的实例进行计数。

data.frame(cut(q4$prop, breaks = c(0, 0.1, 0.2, 0.3)) %>% table)

产生

#           . Freq
# 1   (0,0.1]  341
# 2 (0.1,0.2]   13
# 3 (0.2,0.3]    2

关于r - 如何在R中的一个区间内计算 'number of values of a particular variable of a tibble'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51106469/

相关文章:

将 colnames 替换为 colname 的子字符串

r - 如何重新编码变量中的一系列值并将其强制为一个因子?

r - 如何将命名向量作为一行添加到数据框中,并根据列名顺序重新排序?

r - 更改直方图中的调色板

r - 我可以按字符串/值的最后一部分对列(字符)进行排序吗?

当库函数使用非标准求值时重构 R 代码

r - 迭代 dplyr::summarise 中的值和变量名称

r - 根据组内另一列中的唯一值排列列中的值

r - 在 R 中,有条件地改变 ID 的所有行的新列

r - 使用 dplyr 获取 SQL 表的列类型