r - 计算多列并在 R 中分组

标签 r dplyr

我上一个问题的答案帮助我理解了 dplyr n() 。但是我仍然无法应用于我要解决的问题。所以,我在这里发布数据和实际问题。数据看起来如下

  finalCalledPartyNumber Call Day           Call Date             Block Answered Call Duration Opty ID Opty Created Date BC ID
             19183598259   Monday 2016-12-05 12:26:46 Block 2(12:30 pm)             1        5    1234              <NA>  <NA>
             17135796188   Monday 2016-12-05 12:18:24 Block 2(12:30 pm)             1       16    <NA>              <NA>  3456
             19183598259   Monday 2016-12-05 15:43:33  Block 4(5:30 pm)             1       10    <NA>              <NA>  4567
             17135796188  Tuesday 2016-12-06 11:53:50 Block 2(12:30 pm)             1       85    <NA>              <NA>  5566
             19014741000  Tuesday 2016-12-06 12:00:11 Block 2(12:30 pm)             1       42    6789              <NA>  <NA>
             19014741000  Tuesday 2016-12-06 10:43:20 Block 2(12:30 pm)             1       58    2345              <NA>  <NA>
  BC Created Date
             <NA>
             <NA>
             <NA>
             <NA>
             <NA>
             <NA>

对于每个 finalCalledPartyNumber ,我想计算每个 finallCalledPartyNumber 被调用的次数, Opty IDBC ID 的数量。数据集很大,<NA> 只是意味着没有创建 Opty IDBC ID

输出:

finalCalledPartyNumber    n_opty    n_BC    n_calls
           19183598259         1       1    2
           17135796188         0       2    2
           19014741000         2       0    2

感谢您的帮助。谢谢。

最佳答案

这是使用 dplyr 实现您正在寻找的结果的另一种方法,但它不使用 n()

 df %>%  group_by(finalCalledPartyNumber) %>% 
          summarise(n_opty = sum(!is.na(Opty.Id)),
                    n_BC = sum(!is.na(BC.ID)),
                    n_calls = sum(!is.na(Call)))

输出:

 # A tibble: 3 x 4
   finalCalledPartyNumber  n_opty  n_BC n_calls
                     <dbl>  <int> <int>   <int>
  1            17135796188      0     2       2
  2            19014741000      2     0       2
  3            19183598259      1     1       2

关于r - 计算多列并在 R 中分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44508582/

相关文章:

r - 如何仅在 R 中的两列中省略带有 NA 的行?

javascript - 如何将自定义悬停功能添加到 plotOutput 以便它可以用于许多绘图

r - gzfile 中的错误(文件, "wb"): cannot open the connection or compressed file

r - 从精英运动员比赛结果数据框中的获胜时间计算百分比

r - 反连接但只返回 "previous"缺失行

r - dplyr 在标记的列上加入中断(避风港)

r - 使用glm构建逻辑回归模型时排除多于一列

r:分组、删除列和求和

r - 如何在R中编写匿名函数箭头交叉

r - 减去行并创建新的行名称