Week 29: R4DS Users

TidyTuesday
2019
Published

July 16, 2019

r4ds_members <- readr::read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2019/2019-07-16/r4ds_members.csv")

# load the packages
library(tidyverse)
library(ggstatsplot)
library(lubridate)

GitHub Code

{{% tweet "1151089852663963650" %}}

Timely Change

Timely Change for Full Members

ggplot(r4ds_members,aes(date,full_members))+geom_point(color=blues9[7])+
      ggthemes::theme_stata()+
      xlab("Date")+ylab("Full Members")+
      scale_x_date(date_labels = "%y %b %d",breaks = '1 month')+
      theme(axis.text.x = element_text(angle = 60,hjust=1))+
      ggtitle("How R4DS Members have involved over the Years")

Daily Members

ggscatterstats(
               data = r4ds_members,
               x = daily_active_members,
               y = daily_members_posting_messages,
               xlab = "Daily Active Members",
               ylab = "Daily Active Members Posting Messages",
               title = "Relationship between Daily Active Members and them posting messages",
               messages = FALSE
               )

Daily Members by Day of Week

grouped_ggscatterstats(data = r4ds_members %>% mutate(day=wday(date,label=TRUE)),
                       x=daily_active_members,
                       y=daily_members_posting_messages,
                       grouping.var = day,
                       xlab = "Daily Active\nMembers",
                       ylab = "Daily Active Members\nPosting Messages",
                       title = "Relationship between Daily Active Members\nand them posting messages",
                       messages = FALSE,ncol=2
                       )

Weekly Members

ggscatterstats(
               data = r4ds_members,
               x = weekly_active_members,
               y = weekly_members_posting_messages,
               xlab = "Weekly Active Members",
               ylab = "Weekly Active Members Posting Messages",
               title = "Relationship between Weekly Active Members and them posting messages",
               messages = FALSE
               )

Weekly Members by Day of Week

grouped_ggscatterstats(
                       data = r4ds_members %>% mutate(day=wday(date,label=TRUE)),
                       x = weekly_active_members,
                       y = weekly_members_posting_messages,
                       grouping.var=day,
                       xlab = "Weekly Active Members",
                       ylab = "Weekly Active Members\nPosting Messages",
                       title = "Relationship between Weekly Active Members\nand them posting messages",
                       messages = FALSE,ncol=2
                       )

Messages in Public, Private and DM Channels

ggbetweenstats(
               data = select(r4ds_members,"messages_in_public_channels",
                                          "messages_in_private_channels",
                                          "messages_in_d_ms") %>% 
                      gather("Type","Count"),
               x = Type,
               y = Count,
               xlab = "Type of Channel",
               ylab = "Count",
               title = "Comparing Daily Messages Between Channels",
               messages = FALSE
               )

Percent Based Messages in Public, Private and DM Channels

ggbetweenstats(
               data = select(r4ds_members,"percent_of_messages_public_channels",
                                          "percent_of_messages_private_channels",
                                          "percent_of_messages_d_ms") %>% 
                      gather("Type","Count"),
               x = Type,
               y = Count,
               xlab = "Type of Channel",
               ylab = "Count",
               title = "Comparing Daily Messages Between Channels Percentage Wise",
               messages = FALSE
               )

Messages in Public Channels by Day of Week

ggbetweenstats(
               data = r4ds_members %>% mutate(day=wday(date,label = TRUE)) %>%
                      select("messages_in_public_channels","day"), 
               x = day,
               y = messages_in_public_channels,
               xlab = "Week of the Day",
               ylab = "Count",
               title = "Comparing Daily Messages of Public Channels\nbetween Week of the Day",
               messages = FALSE
               )

Percent Based Messages in Public Channels by Day of Week

ggbetweenstats(
               data = r4ds_members %>% mutate(day=wday(date,label = TRUE)) %>%
                      select("percent_of_messages_public_channels","day"), 
               x = day,
               y = percent_of_messages_public_channels,
               xlab = "Week of the Day",
               ylab = "Count",
               title = "Comparing Daily Messages Percent of Public Channels\nbetween Week of the Day",
               messages = FALSE
               )

Messages in Private Channels by Day of Week

ggbetweenstats(
               data = r4ds_members %>% mutate(day=wday(date,label = TRUE)) %>%
                      select("messages_in_private_channels","day"), 
               x = day,
               y = messages_in_private_channels,
               xlab = "Week of the Day",
               ylab = "Count",
               title = "Comparing Daily Messages of Private Channels\nbetween Week of the Day",
               messages = FALSE
               )

Percent Based Messages in Private Channels by day of Week

ggbetweenstats(
               data = r4ds_members %>% mutate(day=wday(date,label = TRUE)) %>%
                      select("percent_of_messages_private_channels","day"), 
               x = day,
               y = percent_of_messages_private_channels,
               xlab = "Week of the Day",
               ylab = "Count",
               title = "Comparing Daily Messages Percent of Private Channels\nbetween Week of the Day ",
               messages = FALSE
               )

Messages in DM by Day of Week

ggbetweenstats(
               data = r4ds_members %>% mutate(day=wday(date,label = TRUE)) %>%
                      select("messages_in_d_ms","day"), 
               x = day,
               y = messages_in_d_ms,
               xlab = "Week of the Day",
               ylab = "Count",
               title = "Comparing Daily Messages of DM \nbetween Week of the Day",
               messages = FALSE
               )

Percent Based Messages in DM by Day of Week

ggbetweenstats(
               data = r4ds_members %>% mutate(day=wday(date,label = TRUE)) %>%
                      select("percent_of_messages_d_ms","day"), 
               x = day,
               y = percent_of_messages_d_ms,
               xlab = "Week of the Day",
               ylab = "Count",
               title = "Comparing Daily Messages Percent of DM \nbetween Week of the Day ",
               messages = FALSE
               )

THANK YOU