library(tidyverse) library(dplyr) library(lubridate) c1_event_date <- as.Date("2013-07-01") c2_event_date <- as.Date("2013-08-28") c3_event_date <- as.Date("2015-07-02") relative_week <- function(date, ref_date) { as.integer(as.numeric(difftime(date, ref_date, units = "days")) %/% 7) } core_csv <-"~/121325_work/121225_vd_data/core_2010-01-01_to_2024-12-31.csv" core_df <- read.csv(core_csv, header = TRUE) core_df <- core_df |> mutate(commit_date = ymd_hms(commit_date)) |> mutate(isAuthorWMF = case_when( grepl("krinkle@fastmail\\.com", author_email, ignore.case = TRUE) ~ "TRUE", grepl("@wikimedia\\.org", author_email, ignore.case = TRUE) ~ "TRUE", grepl("@wikimedia\\.de", author_email, ignore.case = TRUE) ~ "TRUE", grepl("@gerrit\\.wikimedia\\.org", author_email, ignore.case = TRUE) ~ "Gerrit", TRUE ~ "FALSE" )) |> mutate(isVE = case_when( grepl("VisualEditor", message, ignore.case = TRUE) ~ TRUE, grepl(" VE ", message, ignore.case = TRUE) ~ TRUE, TRUE ~ FALSE )) c1_core_weekly <- core_df |> mutate(week_index = relative_week(commit_date, c1_event_date)) |> group_by(week_index, isVE)|> summarise(count = n(), .groups = 'drop')|> filter(week_index >= -33 & week_index <= 13) |> mutate(source = 'c1') true_ <- c1_core_weekly |> filter(isVE == TRUE)