如何计算R中某个区间内“tibble的特定变量的值的数量”?

Ste*_*tin 2 r dplyr

需要包

'dplyr'

'nycflights13'

我正在使用的小标题是

 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)
Run Code Online (Sandbox Code Playgroud)

使用

q4%>%ungroup()%>%count(prop)
Run Code Online (Sandbox Code Playgroud)

给我

     # 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
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以(不使用强力逻辑,如 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
Run Code Online (Sandbox Code Playgroud)

Lyn*_*akr 6

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

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

产生

#           . Freq
# 1   (0,0.1]  341
# 2 (0.1,0.2]   13
# 3 (0.2,0.3]    2
Run Code Online (Sandbox Code Playgroud)