knitr::opts_chunk$set(
  dpi = 600,
  collapse = TRUE,
  fig.path = "man/figures/"
)
options(knitr.kable.NA = '',
        digits = 4,
        width = 60)

strengejacke

Wrapper to quickly load the sj-packages. The package checks for updates at each startup.

Usage:

library(strengejacke)
#> # Attaching packages (red = needs update)
#> * ggeffects  0.12.0   * sjlabelled 1.1.2 
#> * sjmisc     2.8.1    * sjstats    0.17.6     
#> * sjPlot     2.7.1    * esc        0.5.0      
#> 
#> Update packages in red with 'sj_update()'.

Installation

This package is not on CRAN. To install the package, type following commands into the R console:

library(devtools)
devtools::install_github("strengejacke/strengejacke")

Downloads

library(tidyverse)
library(zoo)
library(cranlogs)
library(see)
library(lubridate)

# Packages data
downloads_sjlabelled <- cranlogs::cran_downloads(package = "sjlabelled", from = "2017-06-12") %>% 
  mutate(Package = "sjlabelled")
downloads_sjmisc <- cranlogs::cran_downloads(package = "sjmisc", from = "2015-03-22") %>% 
  mutate(Package = "sjmisc")
downloads_sjstats <- cranlogs::cran_downloads(package = "sjstats", from = "2016-05-23") %>% 
  mutate(Package = "sjstats")
downloads_sjPlot <- cranlogs::cran_downloads(package = "sjPlot", from = "2013-11-29") %>% 
  mutate(Package = "sjPlot")
downloads_ggeffects <- cranlogs::cran_downloads(package = "ggeffects", from = "2017-04-26") %>% 
  mutate(Package = "ggeffects")

# Combine all data
data <- rbind(downloads_sjlabelled,
              downloads_sjmisc,
              downloads_sjstats,
              downloads_sjPlot,
              downloads_ggeffects) %>% 
  mutate(date_months = format(.$date, "%Y-%m")) %>% 
  group_by(Package) %>% 
  mutate(cumulative_count = cumsum(count),
         average_count = zoo::rollmax(count, 10, fill=0)+10,
         day_num = as.numeric(date) - min(as.numeric(date)),
         day = weekdays(date),
         month = months(date),
         quarters = quarters(date),
         month_day = lubridate::mday(date)) %>% 
  ungroup() %>% 
  group_by(date_months) %>% 
  mutate(monthly_count = sum(count)) %>% 
  ungroup() %>% 
  mutate(Package = fct_relevel(Package, "sjlabelled", "sjmisc", "sjstats", "sjPlot", "ggeffects"))

packages_colours <- c("sjlabelled" = unname(see::material_colors("orange")),
                      "sjmisc" = unname(see::material_colors("pink")),
                      "sjstats" = unname(see::material_colors("green")),
                      "sjPlot" = unname(see::material_colors("blue")),
                      "ggeffects" = unname(see::material_colors("purple")))

Cumulative downloads

data$download_label <- NA

data <- data %>% 
  group_by(Package, month) %>% 
  mutate(download_label = first(cumulative_count)) %>% 
  ungroup() %>% 
  filter(date >= as.Date(Sys.time() %m-% months(12)))

data$download_label[duplicated(data$download_label)] <- NA

ggplot(data, aes(x = date, y = cumulative_count, label = download_label, color = Package)) +
  geom_line(size=0.75) +
  labs(x = "", y = "Cumulative CRAN Downloads", label = NULL) +
  see::theme_modern() +
  scale_x_date(date_breaks = "3 month", labels = scales::date_format("%Y-%m")) +
  scale_color_manual(values=packages_colours) +
  scale_y_sqrt()


sjPlot/strengejacke documentation built on June 29, 2023, 9:15 a.m.