-
Notifications
You must be signed in to change notification settings - Fork 0
/
member_check.Rmd
80 lines (62 loc) · 2.54 KB
/
member_check.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
---
title: "Untitled"
author: "Augustina Ragwitz"
date: "February 11, 2018"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(dplyr)
library(ggplot2)
library(ggthemes)
library(httr)
library(jsonlite)
library(lubridate)
library(maps)
library(purrr)
library(readr)
library(reshape2)
library(scales)
library(stringr)
library(tidyr)
```
Are join dates from the API correct?
```{r message=FALSE}
meetup_members <- read_csv("latest/rladies_meetup_members.csv")
meetup_groups <- read_csv("latest/rladies_meetup_groups.csv")
# compare join date with group.profile.created date
meetup_members_join_date <- meetup_members %>%
select(id, status, joined, group_profile.created, group_profile.visited, group_profile.updated, group_profile.group.urlname) %>%
mutate(
joined=floor_date(as.POSIXct(joined/1000, tz="UTC", origin="1970-01-01"), unit="days"),
group_profile.created=floor_date(as.POSIXct(group_profile.created/1000, tz="UTC", origin="1970-01-01"), unit="days"),
group_profile.visited=floor_date(as.POSIXct(group_profile.visited/1000, tz="UTC", origin="1970-01-01"), unit="days"),
group_profile.updated=floor_date(as.POSIXct(group_profile.updated/1000, tz="UTC", origin="1970-01-01"), unit="days")
)
meetup_members_join_date <- meetup_members_join_date %>%
inner_join(meetup_groups %>% select(urlname, created, members) %>% unique(), by=c("group_profile.group.urlname"="urlname"))
meetup_members_join_date <- meetup_members_join_date %>%
mutate(
created=floor_date(as.POSIXct(created/1000, tz="UTC", origin="1970-01-01"), unit="days")
) %>%
rename(group_profile.group.created=created,
group_profile.group.members=members) # for consistency
meetup_groups_top <- meetup_groups %>%
top_n(20, members) %>%
select(urlname)
meetup_members_sample <- meetup_members_join_date %>%
filter(group_profile.group.urlname %in% meetup_groups_top$urlname) %>%
group_by(group_profile.group.urlname) %>%
sample_n(10)
```
```{r fig.width=10, fig.height=10}
meetup_members_join_date_melt <- melt(meetup_members_sample, id=c("id", "group_profile.group.urlname"),
measure=c("joined", "group_profile.created", "group_profile.group.created"))
ggplot(meetup_members_join_date_melt,
aes(x=factor(id), y=factor(value))) +
geom_line(aes(group=factor(id))) +
geom_point(aes(color=variable, group=variable)) +
theme(axis.text.y=element_blank(), axis.text.x=element_blank()) +
facet_wrap(~ group_profile.group.urlname, scales="free") +
labs(x="Member", y="Date")
```