gpt4 book ai didi

r - 如何获得总体重复计数?

转载 作者:行者123 更新时间:2023-12-01 16:55:38 24 4
gpt4 key购买 nike

我在下面提到了数据框:

DF <- read.table(text = "
Date ID
2018-04-01 K-1
2018-04-01 K-1
2018-04-01 K-8
2018-04-02 K-2
2018-04-02 K-2
2018-04-03 K-2
2018-04-03 K-2
2018-04-03 K-2
2018-04-04 K-3
2018-05-01 K-5
2018-05-01 K-5
2018-05-02 K-6
2018-05-02 K-7", header = TRUE, stringsAsFactors = FALSE)

通过使用上面提到的数据帧,我想确定下面提到的指标:
Date       Unique_count      Duplicate_Count      Overall_Duplicate
2018-04-01 2 1 0
2018-04-02 1 1 0
2018-04-03 0 0 3
2018-04-04 1 0 0
2018-05-01 1 1 0
2018-05-02 2 0 0

在哪里:
  • Unique_count - 独特 ID为特定日期创建 ID不应与之前的任何 ID 匹配.
  • Duplicate_count - 额外的计数(如果有 2 K-1 比 - Duplicate_count 应该是 1)相同 ID为特定日期生成,相同 ID不应与之前的任何 ID 匹配.
  • Overall_Duplicate - 计数 ID先前已生成并在特定日期再次出现。

  • 我有下面提到的代码,不确定 Overall_Duplicate :
    library(dplyr)

    DF2 <- DF %>%
    group_by(Date) %>%
    summarise(Unique_Count = n_distinct(ID),
    Duplicate_Count = sum(table(ID)>1))

    最佳答案

    如果你先按ID分组,找到每个ID第一次出现的时候,就可以把后面的所有ID(第一次出现之后)都改成NA,然后再做一些计算得到你想要的。

    DF %>%
    group_by(ID) %>%
    mutate(first_time = min(Date)) %>%
    ungroup() %>%
    mutate(ID = ifelse(Date == first_time, ID, NA)) %>%
    group_by(Date) %>%
    summarise(Unique_Count = n_distinct(ID, na.rm = TRUE),
    Overall_Duplicate = sum(is.na(ID)),
    Duplicate_Count = n() - Unique_Count - Overall_Duplicate)

    关于r - 如何获得总体重复计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50810533/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com