From dc5327ab17ab252230f1ac4e6f42e03ec73154ba Mon Sep 17 00:00:00 2001 From: mjgaughan Date: Fri, 21 Jun 2024 22:39:04 -0400 Subject: [PATCH] adding readability analysis --- .DS_Store | Bin 6148 -> 6148 bytes R/.Rhistory | 1012 ++++++++++++------------- R/documentReadabilityAnalysis.R | 68 ++ R/draft_readability_analysis_plot.png | Bin 0 -> 125436 bytes 4 files changed, 574 insertions(+), 506 deletions(-) create mode 100644 R/draft_readability_analysis_plot.png diff --git a/.DS_Store b/.DS_Store index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..eba068e1e44a3cf7eafd5f18bf10dda6d1e23af2 100644 GIT binary patch delta 302 zcmZoMXfc=|#>B`mF;Q%yo}wrd0|Nsi1A_oVeiD$iBdH)Kv$$kp;_`ZkL{L(BaY0fJ zvZR5*HAW_87FITP4t5T1j@aOg{PN(E#FEltr^KRY5HBP@KPL&sPD~2ROf8QW5OL1W zD@n}EODzIx$V^EEDv1ft%uC5Hcgio#ODP8H4TeZ?#Bp+P#tTSPSDP4_=qQ*NTh{6* zR9hMufY@fWwVWKH%KFwp@!2`KdHG#HmjeMK&>vvH3#DOHH;}=|5L6ail$VpAmk#1> pOq6GvY#_q2nH%T@U}$Vi{LVa?Uqq1= delta 69 zcmZoMXfc=|#>AjHu~2NHo+1YW5HK<@2yFhyD8{ylX%^#Vb`E|Hpgd6EJM(0I5k*d* SG(!SN-DDFU<;^i7E0_TqCl31n diff --git a/R/.Rhistory b/R/.Rhistory index 18bfad0..c890d26 100644 --- a/R/.Rhistory +++ b/R/.Rhistory @@ -1,512 +1,512 @@ -mutate(crescendo_limit = ifelse(week_offset < (-4), 0, 1))|> -cor.test(crescendo_limit, count) -cor.test(second_windowed_data$crescendo_limit, second_windowed_data$count) -#checking crescendo of contributions before document publication -#second window -second_windowed_data <- windowed_data |> -filter(week_offset <= 0) |> -mutate(crescendo_limit = ifelse(week_offset < (-2), 0, 1)) -cor.test(second_windowed_data$crescendo_limit, second_windowed_data$count) -#checking crescendo of contributions before document publication -#second window -second_windowed_data <- windowed_data |> -filter(week_offset <= 0) |> -mutate(crescendo_limit = ifelse(week_offset < (-1), 0, 1)) -cor.test(second_windowed_data$crescendo_limit, second_windowed_data$count) -#checking crescendo of contributions before document publication -#second window -second_windowed_data <- all_actions_data |> -filter(week_offset <= 0) |> -mutate(crescendo_limit = ifelse(week_offset < (-1), 0, 1)) -#testing whether there's a correlation between count and the presce -cor.test(second_windowed_data$crescendo_limit, second_windowed_data$count) -library(tidyverse) -library(plyr) -#get the contrib data instead -try(setwd(dirname(rstudioapi::getActiveDocumentContext()$path))) -contrib_df <- read_csv("../final_data/deb_contrib_did.csv") -#some preprocessing and expansion -col_order <- c("upstream_vcs_link", "age_of_project", "event_date", "event_hash", "before_all_ct", "after_all_ct", "before_mrg_ct", "after_mrg_ct", "before_auth_new", "after_auth_new", "before_commit_new", "after_commit_new") -contrib_df <- contrib_df[,col_order] -contrib_df$ct_before_all <- str_split(gsub("[][]","", contrib_df$before_all_ct), ", ") -contrib_df$ct_after_all <- str_split(gsub("[][]","", contrib_df$after_all_ct), ", ") -contrib_df$ct_before_mrg <- str_split(gsub("[][]","", contrib_df$before_mrg_ct), ", ") -contrib_df$ct_after_mrg <- str_split(gsub("[][]","", contrib_df$after_mrg_ct), ", ") -drop <- c("before_all_ct", "before_mrg_ct", "after_all_ct", "after_mrg_ct") -contrib_df = contrib_df[,!(names(contrib_df) %in% drop)] -# 2 some expansion needs to happens for each project -expand_timeseries <- function(project_row) { -longer <- project_row |> -pivot_longer(cols = starts_with("ct"), -names_to = "window", -values_to = "count") |> -unnest(count) -longer$observation_type <- gsub("^.*_", "", longer$window) -longer <- ddply(longer, "observation_type", transform, week=seq(from=0, by=1, length.out=length(observation_type))) -longer$count <- as.numeric(longer$count) -#longer <- longer[which(longer$observation_type == "all"),] -return(longer) -} -expanded_data <- expand_timeseries(contrib_df[1,]) -for (i in 2:nrow(contrib_df)){ -expanded_data <- rbind(expanded_data, expand_timeseries(contrib_df[i,])) -} -#filter out the windows of time that we're looking at -window_num <- 8 -windowed_data <- expanded_data |> -filter(week >= (27 - window_num) & week <= (27 + window_num)) |> -mutate(D = ifelse(week > 27, 1, 0)) -#scale the age numbers and calculate the week offset here -windowed_data$scaled_project_age <- scale(windowed_data$age_of_project) -windowed_data$week_offset <- windowed_data$week - 27 -#break out the different type of commit actions -all_actions_data <- windowed_data[which(windowed_data$observation_type == "all"),] -mrg_actions_data <- windowed_data[which(windowed_data$observation_type == "mrg"),] -#logging -all_actions_data$logged_count <- log(all_actions_data$count) -all_actions_data$log1p_count <- log1p(all_actions_data$count) -# now for merge -mrg_actions_data$logged_count <- log(mrg_actions_data$count) -mrg_actions_data$log1p_count <- log1p(mrg_actions_data$count) -#checking crescendo of contributions before document publication -#second window -second_windowed_data <- all_actions_data |> -filter(week_offset <= 0) |> -mutate(crescendo_limit = ifelse(week_offset < (-1), 0, 1)) -#testing whether there's a correlation between count and the two weeks before the introduction -cor.test(second_windowed_data$crescendo_limit, second_windowed_data$count) -#checking crescendo of contributions before document publication -#second window -second_windowed_data <- all_actions_data |> -filter(week_offset <= 0) |> -mutate(crescendo_limit = ifelse(week_offset < (-3), 0, 1)) -#testing whether there's a correlation between count and the two weeks before the introduction -cor.test(second_windowed_data$crescendo_limit, second_windowed_data$count) -#checking crescendo of contributions before document publication -#second window -second_windowed_data <- all_actions_data |> -filter(week_offset <= 0) |> -mutate(crescendo_limit = ifelse(week_offset < (-1), 0, 1)) -#testing whether there's a correlation between count and the two weeks before the introduction -cor.test(second_windowed_data$crescendo_limit, second_windowed_data$count) -# this is the file with the lmer multi-level rddAnalysis -library(tidyverse) -library(plyr) -# 0 loading the readme data in -try(setwd(dirname(rstudioapi::getActiveDocumentContext()$path))) -readme_df <- read_csv("../final_data/deb_readme_did.csv") -# 1 preprocessing -#colnames(readme_df) <- c("upstream_vcs_link", "event_date", "event_hash", "before_all_ct", "before_mrg_ct", "after_all_ct", "after_mrg_ct", "before_auth_new", "after_commit_new", "after_auth_new", "before_commit_new") -col_order <- c("upstream_vcs_link", "age_of_project", "event_date", "event_hash", "before_all_ct", "after_all_ct", "before_mrg_ct", "after_mrg_ct", "before_auth_new", "after_auth_new", "before_commit_new", "after_commit_new") -readme_df <- readme_df[,col_order] -readme_df$ct_before_all <- str_split(gsub("[][]","", readme_df$before_all_ct), ", ") -readme_df$ct_after_all <- str_split(gsub("[][]","", readme_df$after_all_ct), ", ") -readme_df$ct_before_mrg <- str_split(gsub("[][]","", readme_df$before_mrg_ct), ", ") -readme_df$ct_after_mrg <- str_split(gsub("[][]","", readme_df$after_mrg_ct), ", ") -drop <- c("before_all_ct", "before_mrg_ct", "after_all_ct", "after_mrg_ct") -readme_df = readme_df[,!(names(readme_df) %in% drop)] -# 2 some expansion needs to happens for each project -expand_timeseries <- function(project_row) { -longer <- project_row |> -pivot_longer(cols = starts_with("ct"), -names_to = "window", -values_to = "count") |> -unnest(count) -longer$observation_type <- gsub("^.*_", "", longer$window) -longer <- ddply(longer, "observation_type", transform, week=seq(from=0, by=1, length.out=length(observation_type))) -longer$count <- as.numeric(longer$count) -#longer <- longer[which(longer$observation_type == "all"),] -return(longer) -} -expanded_data <- expand_timeseries(readme_df[1,]) -for (i in 2:nrow(readme_df)){ -expanded_data <- rbind(expanded_data, expand_timeseries(readme_df[i,])) -} -#filter out the windows of time that we're looking at -window_num <- 8 -windowed_data <- expanded_data |> -filter(week >= (27 - window_num) & week <= (27 + window_num)) |> -mutate(D = ifelse(week > 27, 1, 0)) -#scale the age numbers -windowed_data$scaled_project_age <- scale(windowed_data$age_of_project) -windowed_data$week_offset <- windowed_data$week - 27 -#break out the different types of commit actions that are studied -all_actions_data <- windowed_data[which(windowed_data$observation_type == "all"),] -mrg_actions_data <- windowed_data[which(windowed_data$observation_type == "mrg"),] -#log the dependent -all_actions_data$logged_count <- log(all_actions_data$count) -all_actions_data$log1p_count <- log1p(all_actions_data$count) -#checking crescendo of contributions before document publication -#second window -second_windowed_data <- all_actions_data |> -filter(week_offset <= 0) |> -mutate(crescendo_limit = ifelse(week_offset < (-1), 0, 1)) -#testing whether there's a correlation between count and the two weeks before the introduction -cor.test(second_windowed_data$crescendo_limit, second_windowed_data$count) -lm(count ~ crescendo_limit + week_offset, data = second_windowed_data) -crescendow_huh <- lm(count ~ crescendo_limit + week_offset, data = second_windowed_data) -crescendo_huh <- lm(count ~ crescendo_limit + week_offset, data = second_windowed_data) -summary(crescendo_huh) -#checking crescendo of contributions before document publication -#second window -second_windowed_data <- all_actions_data |> -filter(week_offset <= 0) |> -mutate(crescendo_limit = ifelse(week_offset < (-3), 0, 1)) -#testing whether there's a correlation between count and the two weeks before the introduction -cor.test(second_windowed_data$crescendo_limit, second_windowed_data$count) -crescendo_huh <- lm(count ~ crescendo_limit + week_offset, data = second_windowed_data) -summary(crescendo_huh) -library(tidyverse) -library(plyr) -#get the contrib data instead -try(setwd(dirname(rstudioapi::getActiveDocumentContext()$path))) -contrib_df <- read_csv("../final_data/deb_contrib_did.csv") -#some preprocessing and expansion -col_order <- c("upstream_vcs_link", "age_of_project", "event_date", "event_hash", "before_all_ct", "after_all_ct", "before_mrg_ct", "after_mrg_ct", "before_auth_new", "after_auth_new", "before_commit_new", "after_commit_new") -contrib_df <- contrib_df[,col_order] -contrib_df$ct_before_all <- str_split(gsub("[][]","", contrib_df$before_all_ct), ", ") -contrib_df$ct_after_all <- str_split(gsub("[][]","", contrib_df$after_all_ct), ", ") -contrib_df$ct_before_mrg <- str_split(gsub("[][]","", contrib_df$before_mrg_ct), ", ") -contrib_df$ct_after_mrg <- str_split(gsub("[][]","", contrib_df$after_mrg_ct), ", ") -drop <- c("before_all_ct", "before_mrg_ct", "after_all_ct", "after_mrg_ct") -contrib_df = contrib_df[,!(names(contrib_df) %in% drop)] -# 2 some expansion needs to happens for each project -expand_timeseries <- function(project_row) { -longer <- project_row |> -pivot_longer(cols = starts_with("ct"), -names_to = "window", -values_to = "count") |> -unnest(count) -longer$observation_type <- gsub("^.*_", "", longer$window) -longer <- ddply(longer, "observation_type", transform, week=seq(from=0, by=1, length.out=length(observation_type))) -longer$count <- as.numeric(longer$count) -#longer <- longer[which(longer$observation_type == "all"),] -return(longer) -} -expanded_data <- expand_timeseries(contrib_df[1,]) -for (i in 2:nrow(contrib_df)){ -expanded_data <- rbind(expanded_data, expand_timeseries(contrib_df[i,])) -} -#filter out the windows of time that we're looking at -window_num <- 8 -windowed_data <- expanded_data |> -filter(week >= (27 - window_num) & week <= (27 + window_num)) |> -mutate(D = ifelse(week > 27, 1, 0)) -#scale the age numbers and calculate the week offset here -windowed_data$scaled_project_age <- scale(windowed_data$age_of_project) -windowed_data$week_offset <- windowed_data$week - 27 -#break out the different type of commit actions -all_actions_data <- windowed_data[which(windowed_data$observation_type == "all"),] -mrg_actions_data <- windowed_data[which(windowed_data$observation_type == "mrg"),] -#logging -all_actions_data$logged_count <- log(all_actions_data$count) -all_actions_data$log1p_count <- log1p(all_actions_data$count) -# now for merge -mrg_actions_data$logged_count <- log(mrg_actions_data$count) -mrg_actions_data$log1p_count <- log1p(mrg_actions_data$count) -#checking crescendo of contributions before document publication -#second window -second_windowed_data <- all_actions_data |> -filter(week_offset <= 0) |> -mutate(crescendo_limit = ifelse(week_offset < (-1), 0, 1)) -#testing whether there's a correlation between count and the two weeks before the introduction -cor.test(second_windowed_data$crescendo_limit, second_windowed_data$count) -crescendo_huh <- lm(count ~ crescendo_limit + week_offset, data = second_windowed_data) -summary(crescendo_huh) -crescendo_huh <- lm(count ~ crescendo_limit * week_offset, data = second_windowed_data) -summary(crescendo_huh) -# this is the file with the lmer multi-level rddAnalysis -library(tidyverse) -library(plyr) -# 0 loading the readme data in -try(setwd(dirname(rstudioapi::getActiveDocumentContext()$path))) -readme_df <- read_csv("../final_data/deb_readme_did.csv") -# 1 preprocessing -#colnames(readme_df) <- c("upstream_vcs_link", "event_date", "event_hash", "before_all_ct", "before_mrg_ct", "after_all_ct", "after_mrg_ct", "before_auth_new", "after_commit_new", "after_auth_new", "before_commit_new") -col_order <- c("upstream_vcs_link", "age_of_project", "event_date", "event_hash", "before_all_ct", "after_all_ct", "before_mrg_ct", "after_mrg_ct", "before_auth_new", "after_auth_new", "before_commit_new", "after_commit_new") -readme_df <- readme_df[,col_order] -readme_df$ct_before_all <- str_split(gsub("[][]","", readme_df$before_all_ct), ", ") -readme_df$ct_after_all <- str_split(gsub("[][]","", readme_df$after_all_ct), ", ") -readme_df$ct_before_mrg <- str_split(gsub("[][]","", readme_df$before_mrg_ct), ", ") -readme_df$ct_after_mrg <- str_split(gsub("[][]","", readme_df$after_mrg_ct), ", ") -drop <- c("before_all_ct", "before_mrg_ct", "after_all_ct", "after_mrg_ct") -readme_df = readme_df[,!(names(readme_df) %in% drop)] -# 2 some expansion needs to happens for each project -expand_timeseries <- function(project_row) { -longer <- project_row |> -pivot_longer(cols = starts_with("ct"), -names_to = "window", -values_to = "count") |> -unnest(count) -longer$observation_type <- gsub("^.*_", "", longer$window) -longer <- ddply(longer, "observation_type", transform, week=seq(from=0, by=1, length.out=length(observation_type))) -longer$count <- as.numeric(longer$count) -#longer <- longer[which(longer$observation_type == "all"),] -return(longer) -} -expanded_data <- expand_timeseries(readme_df[1,]) -for (i in 2:nrow(readme_df)){ -expanded_data <- rbind(expanded_data, expand_timeseries(readme_df[i,])) -} -#filter out the windows of time that we're looking at -window_num <- 8 -windowed_data <- expanded_data |> -filter(week >= (27 - window_num) & week <= (27 + window_num)) |> -mutate(D = ifelse(week > 27, 1, 0)) -#scale the age numbers -windowed_data$scaled_project_age <- scale(windowed_data$age_of_project) -windowed_data$week_offset <- windowed_data$week - 27 -#break out the different types of commit actions that are studied -all_actions_data <- windowed_data[which(windowed_data$observation_type == "all"),] -mrg_actions_data <- windowed_data[which(windowed_data$observation_type == "mrg"),] -#log the dependent -all_actions_data$logged_count <- log(all_actions_data$count) -all_actions_data$log1p_count <- log1p(all_actions_data$count) -#checking crescendo of contributions before document publication -#second window -second_windowed_data <- all_actions_data |> -filter(week_offset <= 0) |> -mutate(crescendo_limit = ifelse(week_offset < (-1), 0, 1)) -#testing whether there's a correlation between count and the two weeks before the introduction -cor.test(second_windowed_data$crescendo_limit, second_windowed_data$count) -crescendo_huh <- lm(count ~ crescendo_limit * week_offset, data = second_windowed_data) -summary(crescendo_huh) -#checking crescendo of contributions before document publication -#second window -second_windowed_data <- all_actions_data |> -filter(week_offset <= 0) |> -mutate(crescendo_limit = ifelse(week_offset < (-3), 0, 1)) -#testing whether there's a correlation between count and the two weeks before the introduction -cor.test(second_windowed_data$crescendo_limit, second_windowed_data$count) -crescendo_huh <- lm(count ~ crescendo_limit * week_offset, data = second_windowed_data) -summary(crescendo_huh) -#checking crescendo of contributions before document publication -#second window -second_windowed_data <- all_actions_data |> -filter(week_offset <= 0) |> -mutate(crescendo_limit = ifelse(week_offset < (-1), 0, 1)) -#testing whether there's a correlation between count and the two weeks before the introduction -cor.test(second_windowed_data$crescendo_limit, second_windowed_data$count) -crescendo_huh <- lm(count ~ crescendo_limit * week_offset, data = second_windowed_data) -summary(crescendo_huh) -library(tidyverse) -library(plyr) -# script for the analysis of document readability metrics -# readability metrics will be studied controlled by their length -# gaughan@u.northwestern.edu -# loading in the data -try(setwd(dirname(rstudioapi::getActiveDocumentContext()$path))) -readme_df <- read_csv("../text_analysis/draft_readability_readme.csv") -contributing_df <- read_csv("../text_analysis/draft_readability_contributing.csv") +ggtitle("Posterior Predictive Density", subtitle="Non-Democracies") + +theme_bw() +p +#plot of reading_ease +p <- ggplot(readme_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_histogram(aes( color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +theme_bw() +p +p <- ggplot(contributing_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_histogram(aes( color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +theme_bw() +p +p <- ggplot(contributing_df, aes(x=mcalpine_eflaw, group=as.factor(subdir))) + +geom_histogram(aes( color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +theme_bw() +p +p <- ggplot(contributing_df, aes(x=linsear_write, group=as.factor(subdir))) + +geom_histogram(aes( color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +theme_bw() +p head(readme_df) -readme_df <- readme_df |> -mutate(coef_grouping <- as.factor(subdir)) -cor.test(readme_df$coef_grouping, readme_df$flesch_reading_ease) -readme_df <- readme_df |> -mutate(coef_grouping <- as.factor(subdir)) -cor.test(readme_df$coef_grouping, readme_df$flesch_reading_ease) -cor(readme_df$coef_grouping, readme_df$flesch_reading_ease) -readme_df <- readme_df |> -mutate(coef_grouping <- as.factor(subdir)) -test_lm <- lm(flesch_reading_ease ~ coef_grouping,data=readme_df) -readme_df <- readme_df |> -mutate(coef_grouping <- as.factor(subdir)) -test_lm <- lm(flesch_reading_ease ~ coef_grouping,data=readme_df) -test_lm <- lm(flesch_reading_ease ~ subdir,data=readme_df) -summary(test_lm) -test_lm <- lm(flesch_reading_ease ~ as.factor(subdir),data=readme_df) -summary(test_lm) -head(readme_df) -test_lm <- lm(flesch_reading_ease ~ char_count + as.factor(subdir),data=readme_df) -summary(test_lm) -head(readme_df) -test_lm <- lm(linsear_write_formula ~ char_count + as.factor(subdir),data=readme_df) -summary(test_lm) -head(readme_df) -test_lm <- lm(mcalpine_eflaw ~ char_count + as.factor(subdir),data=readme_df) -summary(test_lm) -test_lm <- lm(mcalpine_eflaw ~ word_count + as.factor(subdir),data=readme_df) -summary(test_lm) -aggregate(readme_df[, 3:11], list(readme_df$subdir), mean) -aggregate(readme_df[, 3:10], list(readme_df$subdir), mean) -#readme_df <- readme_df |> -# mutate(coef_grouping <- as.factor(subdir)) -#test_lm <- lm(mcalpine_eflaw ~ word_count + as.factor(subdir),data=readme_df) -#summary(test_lm) -aggregate(contributing_df[, 3:10], list(contributing_df$subdir), mean) -library(tidyverse) -library(plyr) -# script for the analysis of document readability metrics -# readability metrics will be studied controlled by their length -# gaughan@u.northwestern.edu -# loading in the data -try(setwd(dirname(rstudioapi::getActiveDocumentContext()$path))) -readme_df <- read_csv("../text_analysis/draft_readability_readme.csv") -contributing_df <- read_csv("../text_analysis/draft_readability_contributing.csv") -head(readme_df) -aggregate(readme_df[, 3:10], list(readme_df$subdir), mean) -aggregate(readme_df[, 3:10], list(readme_df$subdir), median) +p0 +p0 <- ggplot(contributing_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_histogram(aes( color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +theme_bw() +p0 +p0 <- ggplot(contributing_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_histogram(aes( color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-5, 30) + +theme_bw() +p0 +p0 <- ggplot(contributing_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_histogram(aes( color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 30) + +theme_bw() +p0 +p0 <- ggplot(contributing_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_histogram(aes( color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-30, 30) + +theme_bw() +p0 +p0 <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_histogram(aes( color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-30, 30) + +theme_bw() +p0 +p0 <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_histogram(aes( color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-300, 300) + +theme_bw() +p0 +p0 <- ggplot(contributing_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_histogram(aes( color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-30, 30) + +theme_bw() +p0 +readme_linsear_plot <- ggplot(readme_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_histogram(aes( color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-30, 30) + +theme_bw() +p0 +readme_linsear_plot +readme_linsear_plot <- ggplot(readme_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_histogram(aes( color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +scale_y_continuous(breaks = seq(0,10,1),labels = paste(seq(0, 10, by = 1), "%", sep = ""))+ +xlim(-30, 30) + +theme_bw() +readme_linsear_plot +readme_linsear_plot <- ggplot(readme_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_histogram(aes( color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-30, 30) + +theme_bw() +readme_linsear_plot +readme_linsear_plot <- ggplot(readme_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_histogram(aes(y = (..count..)/sum(..count..)), color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +readme_linsear_plot <- ggplot(readme_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_histogram(aes(y = (..count..)/sum(..count..), color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-30, 30) + +theme_bw() +readme_linsear_plot +readme_linsear_plot <- ggplot(readme_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_histogram(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-30, 30) + +theme_bw() +readme_linsear_plot +y = (..count..)/sum(..count..), +y = (..count..)/sum(..count..), +readme_linsear_plot <- ggplot(readme_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_histogram(aes(y = (..count..)/sum(..count..), color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-30, 30) + +theme_bw() +readme_linsear_plot +readme_linsear_plot <- ggplot(readme_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_histogram(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="dodge") + +xlim(-30, 30) + +theme_bw() +readme_linsear_plot +readme_linsear_plot <- ggplot(readme_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_histogram(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-30, 30) + +theme_bw() +readme_linsear_plot +contributing_linsear_plot <- ggplot(contributing_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_histogram(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-30, 30) + +theme_bw() +contributing_linsear_plot +contributing_linsear_plot <- ggplot(contributing_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-30, 30) + +theme_bw() +contributing_linsear_plot +readme_linsear_plot <- ggplot(readme_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-30, 30) + +theme_bw() +readme_linsear_plot +contributing_linsear_plot +contributing_reading_time_plot <- ggplot(contributing_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-30, 30) + +theme_bw() +contributing_reading_time_plot +contributing_reading_time_plot +contributing_reading_time_plot <- ggplot(contributing_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-30, 30) + +theme_bw() +contributing_reading_time_plot +contributing_reading_time_plot <- ggplot(contributing_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 50) + +theme_bw() +contributing_reading_time_plot +contributing_reading_time_plot <- ggplot(contributing_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 70) + +theme_bw() +contributing_reading_time_plot +contributing_reading_time_plot <- ggplot(contributing_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 80) + +theme_bw() +contributing_reading_time_plot +contributing_reading_time_plot <- ggplot(contributing_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 90) + +theme_bw() +contributing_reading_time_plot +contributing_mcalpine_eflaw <- ggplot(contributing_df, aes(x=mcalpine_eflaw, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 90) + +theme_bw() +contributing_mcalpine_eflaw +contributing_mcalpine_eflaw <- ggplot(contributing_df, aes(x=mcalpine_eflaw, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 70) + +theme_bw() +contributing_mcalpine_eflaw +contributing_reading_ease <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 70) + +theme_bw() +contributing_reading_ease +contributing_reading_ease <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 90) + +theme_bw() +contributing_reading_ease +grid.arrange(contributing_reading_ease, contributing_linsear_plot, contributing_mcalpine_eflaw, contributing_reading_time_plot, nrow = 2) +library(gridExtra) +grid.arrange(contributing_reading_ease, contributing_linsear_plot, contributing_mcalpine_eflaw, contributing_reading_time_plot, nrow = 2) +# plotting contributing linsear writing formula +contributing_linsear_plot <- ggplot(contributing_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-30, 30) + +theme_bw(legend.position="none") +# plotting contributing reading time +contributing_reading_time_plot <- ggplot(contributing_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 90) + +theme_bw(legend.position="none") +# plotting contributing mcalpine eflaw +contributing_mcalpine_eflaw <- ggplot(contributing_df, aes(x=mcalpine_eflaw, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 70) + +theme_bw(legend.position="none") +# plotting contributing reading ease +contributing_reading_ease <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +theme(legend.position = "top") + +xlim(-10, 90) + +theme_bw() +contributing_reading_ease +grid.arrange(contributing_reading_ease, contributing_linsear_plot, contributing_mcalpine_eflaw, contributing_reading_time_plot, nrow = 2) +# plotting contributing mcalpine eflaw +contributing_mcalpine_eflaw <- ggplot(contributing_df, aes(x=mcalpine_eflaw, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 70) + +theme(legend.position="none")+ +theme_bw() +# plotting contributing reading ease +contributing_reading_ease <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +theme(legend.position = "top") + +xlim(-10, 90) + +theme_bw() +contributing_reading_ease +grid.arrange(contributing_reading_ease, contributing_linsear_plot, contributing_mcalpine_eflaw, contributing_reading_time_plot, nrow = 2) +# plotting contributing mcalpine eflaw +contributing_mcalpine_eflaw <- ggplot(contributing_df, aes(x=mcalpine_eflaw, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 70) + +guides(fill="none")+ +theme_bw() +# plotting contributing reading ease +contributing_reading_ease <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +theme(legend.position = "top") + +xlim(-10, 90) + +theme_bw() +contributing_reading_ease +grid.arrange(contributing_reading_ease, contributing_linsear_plot, contributing_mcalpine_eflaw, contributing_reading_time_plot, nrow = 2) +# plotting contributing mcalpine eflaw +contributing_mcalpine_eflaw <- ggplot(contributing_df, aes(x=mcalpine_eflaw, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 70) + +guides(fill="none", color="none")+ +theme_bw() +# plotting contributing reading ease +contributing_reading_ease <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +theme(legend.position = "top") + +xlim(-10, 90) + +theme_bw() +contributing_reading_ease +grid.arrange(contributing_reading_ease, contributing_linsear_plot, contributing_mcalpine_eflaw, contributing_reading_time_plot, nrow = 2) +# plotting contributing linsear writing formula +contributing_linsear_plot <- ggplot(contributing_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-30, 30) + +guides(fill="none", color="none")+ +theme_bw() +# plotting contributing reading time +contributing_reading_time_plot <- ggplot(contributing_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 90) + +guides(fill="none", color="none")+ +theme_bw() +# plotting contributing mcalpine eflaw +contributing_mcalpine_eflaw <- ggplot(contributing_df, aes(x=mcalpine_eflaw, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 70) + +guides(fill="none", color="none")+ +theme_bw() +# plotting contributing reading ease +contributing_reading_ease <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 90) + +theme_bw(legend.position = "top") +contributing_reading_ease +# plotting contributing reading ease +contributing_reading_ease <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 90) + +theme_bw(legend.position = "left") +# plotting contributing reading ease +contributing_reading_ease <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 90) + +theme(legend.position = "left") +contributing_reading_ease +# plotting contributing reading ease +contributing_reading_ease <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 90) + +theme(legend.position = "left") + +theme_bw() +contributing_reading_ease +# plotting contributing reading ease +contributing_reading_ease <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 90) + +theme_bw(legend.position = "left") +contributing_reading_ease +# plotting contributing reading ease +contributing_reading_ease <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 90) + +opts(legend.position = "left") + +theme_bw() +# plotting contributing reading ease +contributing_reading_ease <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 90) + +theme(legend.position = "left") + +theme_bw() +contributing_reading_ease +# plotting contributing reading ease +contributing_reading_ease <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 90) + +theme_bw() + +theme(legend.position = "left") +contributing_reading_ease +# plotting contributing reading ease +contributing_reading_ease <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 90) + +theme_bw() + +theme(legend.position = "top") +contributing_reading_ease +grid.arrange(contributing_reading_ease, contributing_linsear_plot, contributing_mcalpine_eflaw, contributing_reading_time_plot, nrow = 2) +readme_reading_ease <- ggplot(readme_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 90) + +theme_bw() + +theme(legend.position = "top") +readme_reading_ease +#plotting readme reading ease +readme_reading_ease <- ggplot(readme_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 90) + +theme_bw() + +theme(legend.position = "top") +#plotting readme reading time +readme_reading_time_plot <- ggplot(readme_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 90) + +guides(fill="none", color="none")+ +theme_bw() +grid.arrange(readme_reading_ease, readme_reading_time, contributing_reading_ease, contributing_reading_time_plot, nrow = 2) +grid.arrange(readme_reading_ease, readme_reading_time_plot, contributing_reading_ease, contributing_reading_time_plot, nrow = 2) +grid.arrange(contributing_reading_ease, contributing_reading_time_plot,readme_reading_ease, readme_reading_time_plot, nrow = 2) +# establishing the color scheme +irisColors <- +setNames( c('red', 'forestgreen', 'blue') +, levels(contributing_df$subdir) ) +# establishing the color scheme +subdirColors <- +setNames( c('red', 'forestgreen', 'blue') +, levels(contributing_df$subdir) ) +# plotting contributing reading ease +contributing_reading_ease <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +scale_color_manual(values = subdirColors) + +xlim(-10, 90) + +theme_bw() + +theme(legend.position = "top") +contributing_reading_ease +#plotting readme reading time +readme_reading_time_plot <- ggplot(readme_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +scale_color_manual(values = subdirColors) + +xlim(-10, 90) + +guides(fill="none", color="none")+ +theme_bw() +#plot of reading_ease #readme_df <- readme_df |> # mutate(coef_grouping <- as.factor(subdir)) #test_lm <- lm(mcalpine_eflaw ~ word_count + as.factor(subdir),data=readme_df) #summary(test_lm) aggregate(contributing_df[, 3:10], list(contributing_df$subdir), median) -rm(list=ls()) -set.seed(424242) -library(readr) -library(ggplot2) -library(tidyverse) -overall_data <- read_csv('../final_data/deb_full_data.csv',show_col_types = FALSE) -overall_data <- read_csv('../final_data/deb_full_data.csv',show_col_types = FALSE) -octo_data <- read_csv('../final_data/deb_octo_data.csv', show_col_types = FALSE) -readme_data <- read_csv("../final_data/deb_readme_roster.csv", show_col_types = FALSE) -overall_data$mmt <- (((overall_data$collaborators * 2)+ overall_data$contributors) / (overall_data$contributors + overall_data$collaborators)) -mean(overall_data$mmt) -hist(overall_data$mmt, probability = TRUE) -#the basic stuff for the overall data -overall_data$mmt <- (((overall_data$collaborators * 2)+ overall_data$contributors) / (overall_data$contributors + overall_data$collaborators)) -mean(overall_data$mmt) -hist(overall_data$mmt, probability = TRUE) -#some new variables around age -#overall_data$new.age <- as.numeric(cut(overall_data$age_of_project/365, breaks=c(0,7.524197,10.323056,13.649367,17), labels=c(1,2,3,4))) -#table(overall_data$new.age) -#overall_data$new.age.factor <- as.factor(overall_data$new.age) -overall_data$scaled_age <- scale(overall_data$age_of_project) -#model -mmtmodel1 <- lm(underproduction_mean ~ mmt + scaled_age, data=overall_data) -summary(mmtmodel1) -qqnorm(residuals(mmtmodel1)) -# below this is the analysis for the octo data -octo_data$new.age <- as.numeric(cut(octo_data$age_of_project/365, breaks=c(0,7.524197,10.323056,13.649367,17), labels=c(1,2,3,4))) -table(octo_data$new.age) -octo_data$new.age.factor <- as.factor(octo_data$new.age) -octo_data$scaled_age <- scale(octo_data$age_of_project) -octo_data$mmt <- (((octo_data$collaborators * 2)+ octo_data$contributors) / (octo_data$contributors + octo_data$collaborators)) -mean(octo_data$mmt) -hist(octo_data$mmt) -head(octo_data) -#getting the mmt-equivalent for both issue activity as well as wiki contrib activity -octo_data$issue_mmt <- ((octo_data$issue_contrib_count * 2) + (octo_data$total_contrib - octo_data$issue_contrib_count)) / (octo_data$total_contrib) -octo_data$sqrt_issue_mmt <- sqrt(octo_data$issue_mmt) -#right skewed data, need to transform -octo_data$wiki_mmt <- ((octo_data$wiki_contrib_count * 2) + (octo_data$total_contrib - octo_data$wiki_contrib_count)) / (octo_data$total_contrib) -hist(octo_data$wiki_mmt) -#below are the models for the octo data, there should be analysis for each one -octo_mmtmodel1 <- lm(underproduction_mean ~ mmt + scaled_age + has_readme + has_contrib, data=octo_data) -summary(octo_mmtmodel1) -issue_mmtmodel1 <- lm(underproduction_mean ~ issue_mmt + scaled_age + has_readme + has_contrib, data=octo_data) -summary(issue_mmtmodel1) -qqnorm(residuals(issue_mmtmodel1)) -wiki_mmtmodel1 <- lm(underproduction_mean ~ wiki_mmt + scaled_age + has_readme + has_contrib, data=octo_data) -summary(wiki_mmtmodel1) -#getting some of the information in about whether projects have specific files -readme_did_roster <- read_csv("../final_data/deb_readme_did.csv", show_col_types = FALSE) -contrib_did_roster <- read_csv("../final_data/deb_contrib_did.csv", show_col_types = FALSE) -octo_data <- octo_data |> -mutate(has_readme = as.numeric(upstream_vcs_link %in% readme_did_roster$upstream_vcs_link)) |> -mutate(has_contrib = as.numeric(upstream_vcs_link %in% contrib_did_roster$upstream_vcs_link)) -overall_data <- overall_data |> -mutate(has_readme = as.numeric(upstream_vcs_link %in% readme_did_roster$upstream_vcs_link)) |> -mutate(has_contrib = as.numeric(upstream_vcs_link %in% contrib_did_roster$upstream_vcs_link)) -#below are the models for the octo data, there should be analysis for each one -octo_mmtmodel1 <- lm(underproduction_mean ~ mmt + scaled_age + has_readme + has_contrib, data=octo_data) -summary(octo_mmtmodel1) -issue_mmtmodel1 <- lm(underproduction_mean ~ issue_mmt + scaled_age + has_readme + has_contrib, data=octo_data) -summary(issue_mmtmodel1) -qqnorm(residuals(issue_mmtmodel1)) -wiki_mmtmodel1 <- lm(underproduction_mean ~ wiki_mmt + scaled_age + has_readme + has_contrib, data=octo_data) -summary(wiki_mmtmodel1) -qqnorm(residuals(wiki_mmtmodel1)) -#these next three are looking at mmt as an outcome of other factors -mmt_outcome_model <- lm(mmt ~ scaled_age + as.factor(has_readme) + as.factor(has_contrib), data = octo_data) -summary(mmt_outcome_model) -library(texreg) #my little "lib" -texreg(list(octo_mmtmodel1, issue_mmtmodel1, wiki_mmtmodel1), stars=NULL, digits=2, -custom.model.names=c( 'M1: MMT','M2: issue contrib.', 'M3: wiki contrib.' ), -custom.coef.names=c('(Intercept)', 'MMT', 'scaled_age', 'has readme', 'has contrib', 'Issue MMT', 'Wiki MMT'), -use.packages=FALSE, table=FALSE, ci.force = TRUE) -govdoc_issuesmmt <- lm(issue_mmt ~ scaled_age + as.factor(has_readme) + as.factor(has_contrib), data=octo_data) -summary(govdoc_issuesmmt) -View(octo_data) -octo_cleaned <- octo_data[octo_data$issue_mmt != NaN] -octo_cleaned <- octo_data[!is.nan(octo_data$issue_mmt),] -#below are the models for the octo data, there should be analysis for each one -octo_mmtmodel1 <- lm(underproduction_mean ~ mmt + scaled_age + has_readme + has_contrib, data=octo_cleaned) -summary(octo_mmtmodel1) -issue_mmtmodel1 <- lm(underproduction_mean ~ issue_mmt + scaled_age + has_readme + has_contrib, data=octo_cleaned) -summary(issue_mmtmodel1) -qqnorm(residuals(issue_mmtmodel1)) -wiki_mmtmodel1 <- lm(underproduction_mean ~ wiki_mmt + scaled_age + has_readme + has_contrib, data=octo_cleaned) -summary(wiki_mmtmodel1) -write.csv(octo_cleaned,"cleaned_octo.csv", row.names = FALSE) -texreg(list(octo_mmtmodel1, issue_mmtmodel1, wiki_mmtmodel1), stars=NULL, digits=2, -custom.model.names=c( 'M1: MMT','M2: issue contrib.', 'M3: wiki contrib.' ), -custom.coef.names=c('(Intercept)', 'MMT', 'scaled_age', 'has readme', 'has contrib', 'Issue MMT', 'Wiki MMT'), -use.packages=FALSE, table=FALSE, ci.force = TRUE) -rm(list=ls()) -set.seed(424242) -library(readr) -library(ggplot2) -library(tidyverse) -#primary analysis for cross-sectional community metrics -overall_data <- read_csv('../final_data/deb_full_data.csv',show_col_types = FALSE) -octo_data <- read_csv('../final_data/deb_octo_data.csv', show_col_types = FALSE) -readme_data <- read_csv("../final_data/deb_readme_roster.csv", show_col_types = FALSE) -contributing_data <- read_csv("../final_data/deb_contribfile_roster.csv", show_col_types = FALSE) -overall_data$mmt <- (((overall_data$collaborators * 2)+ overall_data$contributors) / (overall_data$contributors + overall_data$collaborators)) -mean(overall_data$mmt) -#the basic stuff for the overall data -overall_data$mmt <- (((overall_data$collaborators * 2)+ overall_data$contributors) / (overall_data$contributors + overall_data$collaborators)) -mean(overall_data$mmt) -hist(overall_data$mmt, probability = TRUE) -#model -mmtmodel1 <- lm(underproduction_mean ~ mmt + scaled_age, data=overall_data) -summary(mmtmodel1) -qqnorm(residuals(mmtmodel1)) -#clean octo data -octo_data <- filter(octo_data, total_contrib != 0) -#some new variables around age -#overall_data$new.age <- as.numeric(cut(overall_data$age_of_project/365, breaks=c(0,7.524197,10.323056,13.649367,17), labels=c(1,2,3,4))) -#table(overall_data$new.age) -#overall_data$new.age.factor <- as.factor(overall_data$new.age) -overall_data$scaled_age <- scale(overall_data$age_of_project) -#model -mmtmodel1 <- lm(underproduction_mean ~ mmt + scaled_age, data=overall_data) -table(octo_data$new.age) -octo_data$new.age.factor <- as.factor(octo_data$new.age) -octo_data$scaled_age <- scale(octo_data$age_of_project) -octo_data$mmt <- (((octo_data$collaborators * 2)+ octo_data$contributors) / (octo_data$contributors + octo_data$collaborators)) -mean(octo_data$mmt) -hist(octo_data$mmt) -head(octo_data) -#getting the mmt-equivalent for both issue activity as well as wiki contrib activity -octo_data$issue_mmt <- ((octo_data$issue_contrib_count * 2) + (octo_data$total_contrib - octo_data$issue_contrib_count)) / (octo_data$total_contrib) -#right skewed data, need to transform -octo_data$wiki_mmt <- ((octo_data$wiki_contrib_count * 2) + (octo_data$total_contrib - octo_data$wiki_contrib_count)) / (octo_data$total_contrib) -#getting some of the information in about whether projects have specific files -readme_did_roster <- read_csv("../final_data/deb_readme_did.csv", show_col_types = FALSE) -contrib_did_roster <- read_csv("../final_data/deb_contrib_did.csv", show_col_types = FALSE) -octo_data <- octo_data |> -mutate(has_readme = as.numeric(upstream_vcs_link %in% readme_did_roster$upstream_vcs_link)) |> -mutate(has_contrib = as.numeric(upstream_vcs_link %in% contrib_did_roster$upstream_vcs_link)) -overall_data <- overall_data |> -mutate(has_readme = as.numeric(upstream_vcs_link %in% readme_did_roster$upstream_vcs_link)) |> -mutate(has_contrib = as.numeric(upstream_vcs_link %in% contrib_did_roster$upstream_vcs_link)) -#below are the models for the octo data, there should be analysis for each one -octo_mmtmodel1 <- lm(underproduction_mean ~ mmt + scaled_age + has_readme + has_contrib, data=octo_data) -summary(octo_mmtmodel1) -issue_mmtmodel1 <- lm(underproduction_mean ~ issue_mmt + scaled_age + has_readme + has_contrib, data=octo_data) -summary(issue_mmtmodel1) -qqnorm(residuals(issue_mmtmodel1)) -wiki_mmtmodel1 <- lm(underproduction_mean ~ wiki_mmt + scaled_age + has_readme + has_contrib, data=octo_data) -summary(wiki_mmtmodel1) -library(texreg) #my little "lib" -texreg(list(octo_mmtmodel1, issue_mmtmodel1, wiki_mmtmodel1), stars=NULL, digits=2, -custom.model.names=c( 'M1: MMT','M2: issue contrib.', 'M3: wiki contrib.' ), -custom.coef.names=c('(Intercept)', 'MMT', 'scaled_age', 'has readme', 'has contrib', 'Issue MMT', 'Wiki MMT'), -use.packages=FALSE, table=FALSE, ci.force = TRUE) -#now large MMT model taking into account having contributing or README -mmtmodel2 <- lm(underproduction_mean ~ mmt + scaled_age + has_readme + has_contrib, data=overall_data) -summary(mmtmodel2) -qqnorm(residuals(mmtmodel2)) -summary(mmtmodel2) +readme_reading_time_plot +#plotting readme reading ease +readme_reading_ease <- ggplot(readme_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +scale_color_manual(values = subdirColors) + +xlim(-10, 90) + +theme_bw() + +theme(legend.position = "top") +readme_reading_ease +#plotting readme reading ease +readme_reading_ease <- ggplot(readme_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +scale_color_manual(values = subdirColors) + +xlim(-10, 90) + +guides(fill="none", color="none")+ +theme_bw() +#plotting readme reading time +readme_reading_time_plot <- ggplot(readme_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +scale_color_manual(values = subdirColors) + +xlim(-10, 90) + +guides(fill="none", color="none")+ +theme_bw() + +theme(axis.text.y=element_blank()) +readme_reading_time_plot +#plotting readme reading time +readme_reading_time_plot <- ggplot(readme_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +scale_color_manual(values = subdirColors) + +xlim(-10, 90) + +guides(fill="none", color="none")+ +theme_bw(axis.text.y=element_blank()) + +theme(axis.text.y=element_blank()) +readme_reading_time_plot +#plotting readme reading time +readme_reading_time_plot <- ggplot(readme_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +scale_color_manual(values = subdirColors) + +xlim(-10, 100) + +guides(fill="none", color="none")+ +theme_bw() + +theme(axis.text.y=element_blank()) +readme_reading_time_plot +#plotting readme reading time +readme_reading_time_plot <- ggplot(readme_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +scale_color_manual(values = subdirColors) + +xlim(-10, 110) + +guides(fill="none", color="none")+ +theme_bw() + +theme(axis.text.y=element_blank()) +readme_reading_time_plot +#plotting readme reading time +readme_reading_time_plot <- ggplot(readme_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +scale_color_manual(values = subdirColors) + +xlim(-10, 140) + +guides(fill="none", color="none")+ +theme_bw() + +theme(axis.text.y=element_blank()) +readme_reading_time_plot +#plotting readme reading time +readme_reading_time_plot <- ggplot(readme_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +scale_color_manual(values = subdirColors) + +xlim(-10, 140) + +guides(fill="none", color="none")+ +theme_bw() + +theme(axis.title.y=element_blank()) +readme_reading_time_plot +#plotting readme reading time +readme_reading_time_plot <- ggplot(readme_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +scale_color_manual(values = subdirColors) + +xlim(-10, 140) + +guides(fill="none", color="none")+ +theme_bw() +#theme(axis.title.y=element_blank()) +readme_reading_time_plot +#plotting readme reading time +readme_reading_time_plot <- ggplot(readme_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +scale_color_manual(values = subdirColors) + +xlim(-10, 140) + +guides(fill="none", color="none")+ +theme_bw() +grid.arrange(contributing_reading_ease, contributing_reading_time_plot,readme_reading_ease, readme_reading_time_plot, nrow = 2) +#plotting readme reading time +readme_reading_time_plot <- ggplot(readme_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +scale_color_manual(values = subdirColors) + +xlim(-10, 90) + +guides(fill="none", color="none")+ +theme_bw() +grid.arrange(contributing_reading_ease, contributing_reading_time_plot,readme_reading_ease, readme_reading_time_plot, nrow = 2) +grid.arrange(contributing_reading_ease, contributing_reading_time_plot,readme_reading_ease, readme_reading_time_plot, nrow = 2, labels = c("a)","b)")) +grid.arrange(contributing_reading_ease, contributing_reading_time_plot,readme_reading_ease, readme_reading_time_plot, nrow = 2) +library(ggpubr) +ggarrange(contributing_reading_ease, contributing_reading_time_plot,readme_reading_ease, readme_reading_time_plot, nrow = 2,labels = c("a)","b)") ) +ggarrange(contributing_reading_ease, contributing_reading_time_plot,readme_reading_ease, readme_reading_time_plot, ncol = 2, nrow = 2,labels = c("a)","b)") ) +grid.arrange(contributing_reading_ease, contributing_reading_time_plot,readme_reading_ease, readme_reading_time_plot, nrow = 2) +# plotting contributing reading time +contributing_reading_time_plot <- ggplot(contributing_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 90) + +ylab("readme density") + +guides(fill="none", color="none")+ +theme_bw() +# plotting contributing reading ease +contributing_reading_ease <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +scale_color_manual(values = subdirColors) + +ylab("readme density") + +xlim(-10, 90) + +theme_bw() + +theme(legend.position = "top") +#plotting readme reading ease +readme_reading_ease <- ggplot(readme_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +scale_color_manual(values = subdirColors) + +xlim(-10, 90) + +ylab("readme density") + +guides(fill="none", color="none")+ +theme_bw() +#plotting readme reading time +readme_reading_time_plot <- ggplot(readme_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +scale_color_manual(values = subdirColors) + +xlim(-10, 90) + +ylab("readme density") + +guides(fill="none", color="none")+ +theme_bw() +# plotting contributing reading time +contributing_reading_time_plot <- ggplot(contributing_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +xlim(-10, 90) + +ylab("contributing density") + +guides(fill="none", color="none")+ +theme_bw() +# plotting contributing reading ease +contributing_reading_ease <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + +scale_color_manual(values = subdirColors) + +ylab("contributing density") + +xlim(-10, 90) + +theme_bw() + +theme(legend.position = "top") +contributing_reading_ease +grid.arrange(contributing_reading_ease, contributing_reading_time_plot,readme_reading_ease, readme_reading_time_plot, nrow = 2) diff --git a/R/documentReadabilityAnalysis.R b/R/documentReadabilityAnalysis.R index 31ae3d3..50f7220 100644 --- a/R/documentReadabilityAnalysis.R +++ b/R/documentReadabilityAnalysis.R @@ -1,5 +1,7 @@ library(tidyverse) library(plyr) +library(gridExtra) +library(ggpubr) # script for the analysis of document readability metrics # readability metrics will be studied controlled by their length # gaughan@u.northwestern.edu @@ -9,8 +11,74 @@ readme_df <- read_csv("../text_analysis/draft_readability_readme.csv") contributing_df <- read_csv("../text_analysis/draft_readability_contributing.csv") head(readme_df) aggregate(readme_df[, 3:10], list(readme_df$subdir), median) +#getting basic stats for the readme readability +median(readme_df$flesch_reading_ease) +median(readme_df$mcalpine_eflaw) +median(readme_df$reading_time) +# establishing the color scheme +subdirColors <- + setNames( c('red', 'forestgreen', 'blue') + , levels(contributing_df$subdir) ) + +#plotting linsear scoring +readme_linsear_plot <- ggplot(readme_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + + geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + + xlim(-30, 30) + + theme_bw() +#plotting readme reading ease +readme_reading_ease <- ggplot(readme_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + + geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + + scale_color_manual(values = subdirColors) + + xlim(-10, 90) + + ylab("readme density") + + guides(fill="none", color="none")+ + theme_bw() +readme_reading_ease +#plotting readme reading time +readme_reading_time_plot <- ggplot(readme_df, aes(x=reading_time, group=as.factor(subdir))) + + geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + + scale_color_manual(values = subdirColors) + + xlim(-10, 90) + + ylab("readme density") + + guides(fill="none", color="none")+ + theme_bw() +#theme(axis.title.y=element_blank()) +#plot of reading_ease #readme_df <- readme_df |> # mutate(coef_grouping <- as.factor(subdir)) #test_lm <- lm(mcalpine_eflaw ~ word_count + as.factor(subdir),data=readme_df) #summary(test_lm) aggregate(contributing_df[, 3:10], list(contributing_df$subdir), median) +#basic stats for the contributing readability +median(contributing_df$flesch_reading_ease) +median(contributing_df$mcalpine_eflaw) +median(contributing_df$reading_time) +# plotting contributing linsear writing formula +contributing_linsear_plot <- ggplot(contributing_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + + geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + + xlim(-30, 30) + + guides(fill="none", color="none")+ + theme_bw() +# plotting contributing reading time +contributing_reading_time_plot <- ggplot(contributing_df, aes(x=reading_time, group=as.factor(subdir))) + + geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + + xlim(-10, 90) + + ylab("contributing density") + + guides(fill="none", color="none")+ + theme_bw() +# plotting contributing mcalpine eflaw +contributing_mcalpine_eflaw <- ggplot(contributing_df, aes(x=mcalpine_eflaw, group=as.factor(subdir))) + + geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + + xlim(-10, 70) + + guides(fill="none", color="none")+ + theme_bw() +# plotting contributing reading ease +contributing_reading_ease <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + + geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.2, position="identity") + + scale_color_manual(values = subdirColors) + + ylab("contributing density") + + xlim(-10, 90) + + theme_bw() + + theme(legend.position = "top") +contributing_reading_ease +grid.arrange(contributing_reading_ease, contributing_reading_time_plot,readme_reading_ease, readme_reading_time_plot, nrow = 2) diff --git a/R/draft_readability_analysis_plot.png b/R/draft_readability_analysis_plot.png new file mode 100644 index 0000000000000000000000000000000000000000..3cb8192f0b8897a12dab151e39f82e81a8ba7ee5 GIT binary patch literal 125436 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