【问题标题】:Consolidating dataframe count合并数据帧计数
【发布时间】:2018-03-17 10:52:45
【问题描述】:

我正在尝试合并我的数据框中的重复行并计算与重复对应的其他行。

Consolidate duplicate rows

这个帖子很有帮助,但是当我尝试使用 count 而不是 sum 作为 ddply 方法中的函数时,我得到了错误:length(rows)==1 is not TRUE。

ACCT_NUM             DC_NUM   INVOICE_NUM       DATE    DC_PROD_  NUM DELIVERED_QUANTITY                                                          
640324     CCF575-000712116         15283   4-May-15      154609    1       29147104
640324     CCF575-000712116         15283   4-May-15      423580    1       29147104
640324     CCF575-000712116         15283   4-May-15      538010    1       29147104
640324     CCF575-000712116         15283   4-May-15      991900    1       29147104
640324     CCF575-000712116         15283   4-May-15      991940    1       29147104
640324     CCF575-000712116         15283   4-May-15      991960    1       29147104
640324     CCF575-000712116         29289   7-May-15      423580    1       29181744

【问题讨论】:

  • 尝试length 而不是countplyr::count 用于处理整个数据框,而不仅仅是一列。
  • 样本数据?想要的输出?
  • 当您询问question时请考虑这些建议
  • 我无法提供示例数据,我会尝试为第一页准备一些内容。每列都是一个字符串列表。那么长度会给我所有这些字符串的总长度吗?我想要字符串的数量
  • 所需的输出看起来像示例数据,但合并为唯一的 INVOICE_NUM,其他列是条目发生次数的计数,即存在多少重复。

标签: r dplyr plyr


【解决方案1】:

我认为您正在寻找 dplyr::n() 而不是 count 函数。

有了这些数据:

 df <- data.frame(A = c("A","A","B","B")
                  , B = c("C", "C", "D", "D"))

您可以像这样获取计数:

df %>%
  group_by(A, B) %>%
  summarise(Count = n())

返回:

       A      B Count
  <fctr> <fctr> <int>
1      A      C     2
2      B      D     2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-20
    • 2015-10-11
    • 2018-03-04
    • 1970-01-01
    • 1970-01-01
    • 2018-08-06
    • 2016-01-31
    • 2022-11-29
    相关资源
    最近更新 更多