developing mlm for population changes
This commit is contained in:
parent
9aa31b7750
commit
9b4a4cdf00
BIN
R/final_models/0623_pop_rm_collab_better.rda
Normal file
BIN
R/final_models/0623_pop_rm_collab_better.rda
Normal file
Binary file not shown.
@ -3,8 +3,26 @@ library(plyr)
|
||||
library(stringr)
|
||||
try(setwd(dirname(rstudioapi::getActiveDocumentContext()$path)))
|
||||
#load in data
|
||||
full_df <- read_csv("../final_data/deb_full_data.csv")
|
||||
contrib_df <- read_csv("../final_data/deb_contrib_pop_change.csv")
|
||||
readme_df <- read_csv("../final_data/deb_readme_pop_change.csv")
|
||||
contrib_df <- merge(full_df, contrib_df, by="upstream_vcs_link")
|
||||
readme_df <- merge(full_df, readme_df, by="upstream_vcs_link")
|
||||
# age is calculated against December 11, 2023
|
||||
contrib_df <- contrib_df |>
|
||||
mutate(start_date = as.Date("2023-12-11") - age_of_project) |>
|
||||
mutate(event_date_days =
|
||||
as.numeric(
|
||||
difftime(as.POSIXct("2024-06-24 00:00:00", format = "%Y-%m-%d %H:%M:%S"),
|
||||
as.POSIXct(event_date, format = "%Y-%m-%d %H:%M:%S"),
|
||||
units = "days")))
|
||||
readme_df <- readme_df |>
|
||||
mutate(start_date = as.Date("2023-12-11") - age_of_project) |>
|
||||
mutate(event_date_days =
|
||||
as.numeric(
|
||||
difftime(as.POSIXct("2024-06-24 00:00:00", format = "%Y-%m-%d %H:%M:%S"),
|
||||
as.POSIXct(event_date, format = "%Y-%m-%d %H:%M:%S"),
|
||||
units = "days")))
|
||||
#some expansion needs to happens for each project
|
||||
expand_timeseries <- function(project_row) {
|
||||
longer <- project_row |>
|
||||
@ -40,23 +58,23 @@ library(MASS)
|
||||
simple_collab_readme_model <- glm.nb(count ~ as.factor(after_doc), data=collab_pop_readme)
|
||||
summary(simple_collab_readme_model)
|
||||
qqnorm(residuals(simple_collab_readme_model))
|
||||
#
|
||||
cor.test(collab_pop_readme$count, collab_pop_readme$after_doc)
|
||||
# I don't think MLM is the right one
|
||||
collab_readme_model <- glmer.nb(log1pcount ~ as.factor(after_doc) + (after_doc| upstream_vcs_link), data=collab_pop_readme)
|
||||
collab_readme_model <- glmer.nb(log1pcount ~ as.factor(after_doc) + (after_doc| upstream_vcs_link), data=collab_pop_readme)
|
||||
collab_readme_model_plus <- glmer.nb(log1pcount ~ as.factor(after_doc) + event_date_days + (after_doc| upstream_vcs_link), data=collab_pop_readme)
|
||||
collab_readme_model <- readRDS("final_models/0623_pop_rm_collab.rda")
|
||||
summary(collab_readme_model)
|
||||
saveRDS(collab_readme_model, "final_models/0623_pop_rm_collab.rda")
|
||||
crm_residuals <- residuals(collab_readme_model)
|
||||
qqnorm(crm_residuals)
|
||||
saveRDS(collab_readme_model, "final_models/0623_pop_rm_collab_better.rda")
|
||||
contrib_readme_model <- glmer.nb(log1pcount ~ after_doc + (after_doc| upstream_vcs_link), data=contrib_pop_readme)
|
||||
contrib_readme_model_plus <- glmer.nb(log1pcount ~ after_doc + event_date_days+ (after_doc| upstream_vcs_link), data=contrib_pop_readme)
|
||||
summary(contrib_readme_model)
|
||||
saveRDS(contrib_readme_model, "final_models/0623_pop_rm_contrib.rda")
|
||||
#contrib_readme_model <- load("final_models/0510_pop_rm_contrib.rda")
|
||||
contrib_readme_model <- readRDS("final_models/0623_pop_rm_contrib.rda")
|
||||
conrm_residuals <- residuals(contrib_readme_model)
|
||||
qqnorm(conrm_residuals)
|
||||
collab_contrib_model <- glmer.nb(log1pcount ~ after_doc + (after_doc| upstream_vcs_link), data=collab_pop_contrib)
|
||||
summary(collab_contrib_model)
|
||||
saveRDS(collab_contrib_model, "final_models/0623_pop_contrib_collab.rda")
|
||||
contrib_readme_model <- readRDS("final_models/0623_pop_contrib_collab.rda")
|
||||
contrib_contrib_model <- glmer.nb(log1pcount ~ after_doc + (after_doc| upstream_vcs_link), data=contrib_pop_contrib)
|
||||
summary(contrib_contrib_model)
|
||||
saveRDS(contrib_contrib_model, "final_models/0623_pop_contrib_contrib.rda")
|
||||
@ -65,7 +83,7 @@ library(texreg)
|
||||
|
||||
texreg(list(collab_readme_model, contrib_readme_model), stars=NULL, digits=2,
|
||||
custom.model.names=c( 'collab','contrib.' ),
|
||||
custom.coef.names=c('(Intercept)', 'after_introduction'),
|
||||
custom.coef.names=c('(Intercept)', 'after_introduction', 'etc'),
|
||||
use.packages=FALSE, table=FALSE, ci.force = TRUE)
|
||||
|
||||
library(ggplot2)
|
||||
|
Loading…
Reference in New Issue
Block a user