【问题标题】:How can I count and list the number of times a grouped value appears within that same group?如何计算并列出分组值在同一组中出现的次数?
【发布时间】:2018-07-20 10:45:05
【问题描述】:

我有一个数据框,我已经对它进行了分组,然后按多个字段进行了汇总:

gn %>% 
  group_by(`_source.time`) %>%
  summarize(
    leads_TRUE = sum(`_source.lead` == TRUE),
    leads_FALSE = sum(`_source.lead` == FALSE),
    leads_T_conv = sum(leads_TRUE) / nrow(gn),
    leads_F_conv = sum(leads_FALSE) / nrow(gn),
    overall_conv = sum(leads_T_conv + leads_F_conv) / 2
  ) %>%
  ungroup()

这给了我:

# A tibble: 64 x 6
   `_source.time` leads_TRUE leads_FALSE leads_T_conv leads_F_conv overall_conv
   <date>              <int>       <int>        <dbl>        <dbl>        <dbl>
 1 2018-05-14              8          89      0.00161      0.0179        0.0587
 2 2018-05-15             31          68      0.00623      0.0137        0.0587
 3 2018-05-16             28          85      0.00563      0.0171        0.0587

如何计算发生的单个日期的数量 (_source.time) 并将它们列为一列 (date_count)?

我正在寻找的输出将与

相同
> gn$`_source.time` %>% table %>% as.matrix
           [,1]
2018-05-14   97
2018-05-15   99
2018-05-16  113

这样每个日期都会计算它在分组数据框中出现的次数。

【问题讨论】:

  • 你不能在链的末尾添加一个%&gt;% mutate(date_count = leads_TRUE + leads_FALSE)吗?
  • 这行得通,但我需要它首先出现,因为leads_TRUEleads_FALSE 都出现在我希望列出现的位置之后,它对我不起作用。我知道我可以手动对列重新排序,但是还有其他方法可以即时将其放在正确的位置吗?
  • 这对你有用吗%&gt;% add_column(.data = ., date_count = .$leads_TRUE + .$leads_FALSE, .before = 2)
  • 您的意思是要使用n()?这是一个内置在summary中的函数。但是获取日期的数量是一个不同的问题,它不适用于分组数据。

标签: r grouping summarization


【解决方案1】:

你可以使用n_distinct:

iris %>% group_by(round(Sepal.Length)) %>% summarize(n=n_distinct(Species))
# A tibble: 5 x 2
#   `round(Sepal.Length)`     n
#                   <dbl> <int>
# 1                     4     1
# 2                     5     3
# 3                     6     3
# 4                     7     2
# 5                     8     1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-17
    • 1970-01-01
    • 2021-04-16
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 1970-01-01
    • 2016-12-20
    相关资源
    最近更新 更多