R-Ladies Infrastructure for Online Meetups

Our chapters have cancelled in-person meetups due to the corona virus pandemic. However, we want our members to be able to stay connected and still share their latest R-related discoveries and journeys. To support our chapter organisers in moving their events online, we decided to provide them with video conferencing infrastructure.

Our network has grown to over 160 chapters worldwide so we were wondering how many meeting rooms we would need. Was one enough or would that mean we’d have a lot of scheduling conflicts? What a nice opportunity to make use of our {meetupr} package and get a sense of how often we’ve had overlapping events in the past!

Get the data

#devtools::install_github("rladies/meetupr")
library(meetupr)
library(tidyverse)
library(lubridate)
library(scales)

First, we get all the R-Ladies meetup groups so that we can get all their events in a second step.

# get the R-Ladies chapters

groups <- meetupr::find_groups(text = "r-ladies") 

chapters <- groups %>% 
  filter(str_detect(tolower(name), "r-ladies"))

We want to avoid to exceed the API request limit so we’ll use the solution posted by Jesse Mostipak.

# get the events for the chapters

slowly <- function(f, delay = 0.5) {
  function(...) {
    Sys.sleep(delay)
    f(...)
  }
}

events <- map(chapters$urlname,
              slowly(safely(meetupr::get_events)),
              event_status = c("past", "upcoming")) %>% 
  set_names(chapters$name)

The use of safely() means that our mapping doesn’t fail altogether if getting the events for any of the chapters fails. Now we just need to extract the events for those chapters where we succeeded.

all_events <- map_dfr(events, 
                      ~ if (is.null(.$error)) .$result else NULL, 
                      .id = "chapter")

How often (per month) do 2 or more R-Ladies meetup events happen at the same time?

First thing we want to know is whether two or more events happening at the same time was common or not?

To keep things simple, we are looking at events that start at the same time and are not looking at overlapping events for the time being. This includes past and upcoming events.

all_events %>% 
  count(time) %>% 
  filter(n > 1) %>% 
  mutate(time = floor_date(time, unit = "months")) %>% 
  count(time) %>% 
  ggplot() + 
  geom_col(aes(time, n)) +
  scale_x_datetime(breaks = scales::date_breaks("1 month"),
                   labels = scales::date_format("%Y-%b")) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) 

So parallel R-Ladies events are not uncommon but now the question is: how many events are happening at the same time?

How many events typically happen at the same time?

all_events %>% 
  count(time, name = "simultaneous_events") %>% 
  count(simultaneous_events) %>% 
  arrange(desc(simultaneous_events))
## # A tibble: 5 x 2
##   simultaneous_events     n
##                 <int> <int>
## 1                   9     1
## 2                   4     1
## 3                   3    16
## 4                   2   144
## 5                   1  1953

One time we had 9 R-Ladies events happening at the same time! Looking at the date reveals that those were the rstudio::conf watch parties (Jan 29, 2020):

all_events %>% 
  count(time, sort = TRUE) %>% 
  top_n(1) 
## Selecting by n
## # A tibble: 1 x 2
##   time                    n
##   <dttm>              <int>
## 1 2020-01-29 16:00:00     9

More than 2 parallel events have been relatively rare so we are starting with one virtual meeting room that our chapters can book and hope that scheduling conflicts can be avoided.

If you are an R-Ladies organiser and want to use this new infrastructure, please join the #online_meetups channel on the organisers’ Slack. There you’ll find instructions on how to book a meeting and tips for running safe online events.

Next online events

If you’d like to join events of R-Ladies chapters from around the world, the next events are

All R-Ladies meetup events are also listed at https://www.meetup.com/pro/rladies/.

Author: R-Ladies Global Leadership Team

This post was last edited on 7 November 2024 with the message"Add missing quote (#356)"