1 Article coverage per ISSN

1.1 All ISSNs

1.1.1 Overall

Median article coverage is 49.43%.

df_ojs_all %>%
  left_join(df_dim, by = "issn") %>% 
  mutate(
    coverage = n/total_record_count,
    coverage = if_else(is.na(n), 0, coverage),
    coverage = if_else(coverage > 1, 1, coverage)
  ) %>%
  ggplot(aes(coverage)) +
  geom_histogram(bins = 50) +
  theme_minimal() +
  scale_x_continuous(labels = scales::percent) +
  labs(x = "Coverage" , y = "ISSNs")

Excluding OJS journals absent from Dimensions, median article coverage is 87.18%.

df_ojs_all %>%
  inner_join(df_dim, by = "issn") %>% 
  mutate(
    coverage = n/total_record_count,
    coverage = if_else(is.na(n), 0, coverage),
    coverage = if_else(coverage > 1, 1, coverage)
  ) %>%
  ggplot(aes(coverage)) +
  geom_histogram(bins = 50) +
  theme_minimal() +
  scale_x_continuous(labels = scales::percent) +
  labs(x = "Coverage" , y = "ISSNs")

1.1.2 By country

Coverage excludes OJS journals absent from Dimensions.

df_ojs_all %>%
  inner_join(df_dim, by = "issn") %>% 
  mutate(
    coverage = n/total_record_count,
    coverage = if_else(is.na(n), 0, coverage),
    coverage = if_else(coverage > 1, 1, coverage)
  ) %>% 
  group_by(country) %>% 
  summarise(
    records_in_ojs_data = sum(total_record_count, na.rm = T),
    coverage = (round(mean(coverage, na.rm = T), 4) * 100) %>% str_c("%")
  ) %>% 
  arrange(-records_in_ojs_data) %>% 
  clean_names(case = "title") %>% 
  datatable()

1.1.3 By language

Coverage excludes OJS journals absent from Dimensions.

df_ojs_all %>%
  inner_join(df_dim, by = "issn") %>% 
  mutate(
    coverage = n/total_record_count,
    coverage = if_else(is.na(n), 0, coverage),
    coverage = if_else(coverage > 1, 1, coverage)
  ) %>% 
  drop_na(language) %>% 
  group_by(language) %>% 
  summarise(
    records_in_ojs_data = sum(total_record_count, na.rm = T),
    coverage = (round(mean(coverage, na.rm = T), 4) * 100) %>% str_c("%")
  ) %>% 
  arrange(-records_in_ojs_data) %>% 
  select(-records_in_ojs_data) %>% 
  clean_names(case = "title") %>% 
  datatable()

1.1.4 By discipline

Coverage excludes OJS journals absent from Dimensions.

df_ojs_all %>%
  inner_join(df_dim, by = "issn") %>% 
  mutate(
    coverage = n/total_record_count,
    coverage = if_else(is.na(n), 0, coverage),
    coverage = if_else(coverage > 1, 1, coverage)
  ) %>% 
  drop_na(discipline) %>% 
  group_by(discipline) %>% 
  summarise(
    records_in_ojs_data = sum(total_record_count, na.rm = T),
    coverage = (round(mean(coverage, na.rm = T), 4) * 100) %>% str_c("%")
  ) %>% 
  arrange(-records_in_ojs_data) %>% 
  select(-records_in_ojs_data) %>% 
  clean_names(case = "title") %>% 
  datatable()



1.2 ISSNs Active in 2022

1.2.1 Overall

Median article coverage is 58.5%.

df_ojs_all %>%
  filter(record_count_2022 >= 5) %>% 
  left_join(df_dim, by = "issn") %>% 
  mutate(
    coverage = n/total_record_count,
    coverage = if_else(is.na(n), 0, coverage),
    coverage = if_else(coverage > 1, 1, coverage)
  ) %>%
  ggplot(aes(coverage)) +
  geom_histogram(bins = 50) +
  theme_minimal() +
  scale_x_continuous(labels = scales::percent) +
  labs(x = "Coverage" , y = "ISSNs")

Excluding active OJS journals absent from Dimensions, median article coverage is 85.71%.

df_ojs_all %>%
  filter(record_count_2022 >= 5) %>%
  inner_join(df_dim, by = "issn") %>% 
  mutate(
    coverage = n/total_record_count,
    coverage = if_else(is.na(n), 0, coverage),
    coverage = if_else(coverage > 1, 1, coverage)
  ) %>%
  ggplot(aes(coverage)) +
  geom_histogram(bins = 50) +
  theme_minimal() +
  scale_x_continuous(labels = scales::percent) +
  labs(x = "Coverage" , y = "ISSNs")

1.2.2 By country

Coverage excludes OJS journals absent from Dimensions.

df_ojs_all %>%
  filter(record_count_2022 >= 5) %>% 
  inner_join(df_dim, by = "issn") %>% 
  mutate(
    coverage = n/total_record_count,
    coverage = if_else(is.na(n), 0, coverage),
    coverage = if_else(coverage > 1, 1, coverage)
  ) %>% 
  group_by(country) %>% 
  summarise(
    records_in_ojs_data = sum(total_record_count, na.rm = T),
    coverage = (round(mean(coverage, na.rm = T), 4) * 100) %>% str_c("%")
  ) %>% 
  arrange(-records_in_ojs_data) %>% 
  clean_names(case = "title") %>% 
  datatable()

1.2.3 By language

Coverage excludes OJS journals absent from Dimensions.

df_ojs_all %>%
  filter(record_count_2022 >= 5) %>% 
  inner_join(df_dim, by = "issn") %>% 
  mutate(
    coverage = n/total_record_count,
    coverage = if_else(is.na(n), 0, coverage),
    coverage = if_else(coverage > 1, 1, coverage)
  ) %>% 
  drop_na(language) %>% 
  group_by(language) %>% 
  summarise(
    records_in_ojs_data = sum(total_record_count, na.rm = T),
    coverage = (round(mean(coverage, na.rm = T), 4) * 100) %>% str_c("%")
  ) %>% 
  arrange(-records_in_ojs_data) %>% 
  select(-records_in_ojs_data) %>% 
  clean_names(case = "title") %>% 
  datatable()

1.2.4 By discipline

Coverage excludes OJS journals absent from Dimensions.

df_ojs_all %>%
  filter(record_count_2022 >= 5) %>% 
  inner_join(df_dim, by = "issn") %>% 
  mutate(
    coverage = n/total_record_count,
    coverage = if_else(is.na(n), 0, coverage),
    coverage = if_else(coverage > 1, 1, coverage)
  ) %>% 
  drop_na(discipline) %>% 
  group_by(discipline) %>% 
  summarise(
    records_in_ojs_data = sum(total_record_count, na.rm = T),
    coverage = (round(mean(coverage, na.rm = T), 4) * 100) %>% str_c("%")
  ) %>% 
  arrange(-records_in_ojs_data) %>% 
  select(-records_in_ojs_data) %>% 
  clean_names(case = "title") %>% 
  datatable()