library(dplyr)
library(ggplot2)
library(httr)
library(jsonlite)
library(scales)
library(tidyverse)
Thanks to everyone who made it out for our inaugural meetup!
# fetch and anonymize data
get_meetup_info <- function (url) {
resp <- GET(url)
print(paste(resp$url))
json <- content(resp, as = "text")
meetup_resp <- fromJSON(json, flatten=TRUE) # doesn't work for some reason
return(meetup_resp)
}
fix_meetup_json <- function(meetup_resp) {
meetup_datas <- meetup_resp %>%
unlist() %>%
as.data.frame.list()
meetup_datas <- bind_cols(meetup_datas, flattened)
return(meetup_datas)
}
event <- params$event_url %>% get_meetup_info %>% fix_meetup_json
rsvped <- params$rsvped_url %>% get_meetup_info %>% fix_meetup_json
attended <- params$attended_url %>% get_meetup_info %>% fix_meetup_json
attendance <- bind_rows(attended, rsvped %>% anti_join(attended, by = c("member.id", "member.name")))
attendance_anon <- attendance
attendance_anon$member.name = replicate(nrow(attendance_anon),
paste(sample(LETTERS, 10, replace=TRUE), collapse=""))
rm(rsvped, attended, attendance)
write_csv(attendance_anon, "28_attendance_anon.csv")
write_csv(event, "28_event.csv")
9 out of the 10 folks who RSVP’ed attended. We had one extra person attend who did not RSVP!
attendance_anon <- read_csv("28_attendance_anon.csv")
ggplot(attendance_anon, aes(x=status, fill=rsvp.response)) +
geom_bar(position="dodge") +
scale_y_continuous(breaks=pretty_breaks())
Everyone went around and shared their current level of experience with R and how they currently use it. These responses were distilled down to the following common themes.
# works_for
# com = industry/for-profit
# edu = university affiliation (student or teacher)
# org = non-profit
# gov = government
survey <- read_csv('
my,TRUE,expert,TRUE,com
jen,TRUE,expert,TRUE,edu
me,TRUE,expert,TRUE,edu
je,FALSE,novice,TRUE,edu
deb,NA,novice,TRUE,NA
ad,TRUE,competent practitioner,TRUE,gov
so,TRUE,competent practitioner,NA,com
de,FALSE,competent practitioner,TRUE,org
au,TRUE,competent practitioner,NA,com
ch,TRUE,expert,TRUE,com
', col_names=c("name","uses_for_work", "experience", "used_in_grad_school", "works_for"))
other_tools <- read_csv('
my,python
jen,sas
je,stata
so,sql
de,spss
au,python
', col_names=c("name","other_tools"))
ggplot(survey, aes(x=uses_for_work, fill=works_for)) +
geom_bar(position="dodge")
ggplot(survey, aes(x=experience, fill=used_in_grad_school)) +
geom_bar(position="dodge")
ggplot(other_tools, aes(x=other_tools, fill=other_tools)) +
geom_bar(position="dodge", show.legend=FALSE) +
scale_y_continuous(breaks=c(1:5))
The following items were suggested when folks were asked what they wanted to get out of R-Ladies PDX:
Got ideas? Add them here: https://docs.google.com/spreadsheets/d/1RzimpU5sBIu2N3N6on-Yj9OF1p1ATKUy23_OoxzqPnc/edit?usp=sharing
Some members indicated they had expertise in additional areas and would be willing to mentor others.
Chester indicated we could create an R-Ladies PDX group through Datacamp. Would people be interested in this?
Slack is a chat client that can run in the browser or through an app on your phone or computer. We use the PDX Data Slack. To set up an account, use the Google from on this page to send yourself an invite. http://pdxdata.org/slack/
R-Ladies PDX can be found in the channel #rladiespdx.
Deeksha put together a survey to get ideas about meeting times and locations that work best for everyone.
Augustina is currently in the process of getting certified as a Carpentries Instructor. If anyone else is interested in learning more about this so we can put on some workshops, here’s the info: https://docs.google.com/forms/d/e/1FAIpQLSe5rbZDqNdLIuIEw9wNrXWsGexKaSS7vwkc0HaxdBGh5M7ZPQ/viewform
R-Ladies Global has a number of committees and projects. If you are interested in getting involved, get in touch with Augustina!
Alison Hill was kind enough to make a webpage for us through her blogdown tutorial at R meetup (https://www.meetup.com/portland-r-user-group/events/242600475/). Augustina is working on getting the source into the PDX R-Ladies Github org so any of us can update it.
R-Ladies PDX: http://rladies-pdx.rbind.io/
One idea mentioned during our Meetup was creating a “Resources” section with links and info on where to learn R. Once we have a workflow set up through the R-Ladies PDX Github organization I will ask who would be interested in doing or assisting with this! We could even do it as a workshop and have everyone add a resource to the page!
We are looking for regular meeting spaces! Several involved folks have ties to OHSU and booking space at the OHSU Waterfront would be very easy and centrally located. We also have ties to Reed and while the location isn’t quite as convenient for weekdays, this could be a good resource for weekend workshops or study groups. If you have other ideas, please add them to the spreadsheet linked below!
Suggested Meeting Locations:
Add more here: https://docs.google.com/spreadsheets/d/1AYA5t2PNOsrzTHDVeWzdyNQCN9W2IPx27QqHW92s7Ho/edit?usp=sharing
During the Meetup people shared different tools and R packages they’d worked with and also ones we explored while solving the challenge question. These were the packages that were mentioned and links to where you can find out more about them.
Our next meetup on Oct 16 will feature Julia Silge presenting a short tutorial from her book “Tidy Text”. Would anyone be interested in a casual meetup on another day beforehand to prepare for the tutorial?
https://www.meetup.com/R-Ladies-PDX/events/243376514/
We are also planning our November meetup! We will share a Doodle poll with the group once we have survey responses in and depending on venue availability. Due to the Thanksgiving holiday, it will most likely be either during the week of Nov 13 or the week of Nov 27.
At the end of the Meetup, Myffy proposed a question she’d encountered in a job interview and we all experimented with different ways to answer it.
Here is the question:
How would you build a data structure containing all possible permutations of ATCG?
The solution we came up with:
atcg <- c("A", "T", "C", "G")
atcg_permutations <- expand.grid(atcg, atcg, atcg, atcg)
atcg_permutations
## Var1 Var2 Var3 Var4
## 1 A A A A
## 2 T A A A
## 3 C A A A
## 4 G A A A
## 5 A T A A
## 6 T T A A
## 7 C T A A
## 8 G T A A
## 9 A C A A
## 10 T C A A
## 11 C C A A
## 12 G C A A
## 13 A G A A
## 14 T G A A
## 15 C G A A
## 16 G G A A
## 17 A A T A
## 18 T A T A
## 19 C A T A
## 20 G A T A
## 21 A T T A
## 22 T T T A
## 23 C T T A
## 24 G T T A
## 25 A C T A
## 26 T C T A
## 27 C C T A
## 28 G C T A
## 29 A G T A
## 30 T G T A
## 31 C G T A
## 32 G G T A
## 33 A A C A
## 34 T A C A
## 35 C A C A
## 36 G A C A
## 37 A T C A
## 38 T T C A
## 39 C T C A
## 40 G T C A
## 41 A C C A
## 42 T C C A
## 43 C C C A
## 44 G C C A
## 45 A G C A
## 46 T G C A
## 47 C G C A
## 48 G G C A
## 49 A A G A
## 50 T A G A
## 51 C A G A
## 52 G A G A
## 53 A T G A
## 54 T T G A
## 55 C T G A
## 56 G T G A
## 57 A C G A
## 58 T C G A
## 59 C C G A
## 60 G C G A
## 61 A G G A
## 62 T G G A
## 63 C G G A
## 64 G G G A
## 65 A A A T
## 66 T A A T
## 67 C A A T
## 68 G A A T
## 69 A T A T
## 70 T T A T
## 71 C T A T
## 72 G T A T
## 73 A C A T
## 74 T C A T
## 75 C C A T
## 76 G C A T
## 77 A G A T
## 78 T G A T
## 79 C G A T
## 80 G G A T
## 81 A A T T
## 82 T A T T
## 83 C A T T
## 84 G A T T
## 85 A T T T
## 86 T T T T
## 87 C T T T
## 88 G T T T
## 89 A C T T
## 90 T C T T
## 91 C C T T
## 92 G C T T
## 93 A G T T
## 94 T G T T
## 95 C G T T
## 96 G G T T
## 97 A A C T
## 98 T A C T
## 99 C A C T
## 100 G A C T
## 101 A T C T
## 102 T T C T
## 103 C T C T
## 104 G T C T
## 105 A C C T
## 106 T C C T
## 107 C C C T
## 108 G C C T
## 109 A G C T
## 110 T G C T
## 111 C G C T
## 112 G G C T
## 113 A A G T
## 114 T A G T
## 115 C A G T
## 116 G A G T
## 117 A T G T
## 118 T T G T
## 119 C T G T
## 120 G T G T
## 121 A C G T
## 122 T C G T
## 123 C C G T
## 124 G C G T
## 125 A G G T
## 126 T G G T
## 127 C G G T
## 128 G G G T
## 129 A A A C
## 130 T A A C
## 131 C A A C
## 132 G A A C
## 133 A T A C
## 134 T T A C
## 135 C T A C
## 136 G T A C
## 137 A C A C
## 138 T C A C
## 139 C C A C
## 140 G C A C
## 141 A G A C
## 142 T G A C
## 143 C G A C
## 144 G G A C
## 145 A A T C
## 146 T A T C
## 147 C A T C
## 148 G A T C
## 149 A T T C
## 150 T T T C
## 151 C T T C
## 152 G T T C
## 153 A C T C
## 154 T C T C
## 155 C C T C
## 156 G C T C
## 157 A G T C
## 158 T G T C
## 159 C G T C
## 160 G G T C
## 161 A A C C
## 162 T A C C
## 163 C A C C
## 164 G A C C
## 165 A T C C
## 166 T T C C
## 167 C T C C
## 168 G T C C
## 169 A C C C
## 170 T C C C
## 171 C C C C
## 172 G C C C
## 173 A G C C
## 174 T G C C
## 175 C G C C
## 176 G G C C
## 177 A A G C
## 178 T A G C
## 179 C A G C
## 180 G A G C
## 181 A T G C
## 182 T T G C
## 183 C T G C
## 184 G T G C
## 185 A C G C
## 186 T C G C
## 187 C C G C
## 188 G C G C
## 189 A G G C
## 190 T G G C
## 191 C G G C
## 192 G G G C
## 193 A A A G
## 194 T A A G
## 195 C A A G
## 196 G A A G
## 197 A T A G
## 198 T T A G
## 199 C T A G
## 200 G T A G
## 201 A C A G
## 202 T C A G
## 203 C C A G
## 204 G C A G
## 205 A G A G
## 206 T G A G
## 207 C G A G
## 208 G G A G
## 209 A A T G
## 210 T A T G
## 211 C A T G
## 212 G A T G
## 213 A T T G
## 214 T T T G
## 215 C T T G
## 216 G T T G
## 217 A C T G
## 218 T C T G
## 219 C C T G
## 220 G C T G
## 221 A G T G
## 222 T G T G
## 223 C G T G
## 224 G G T G
## 225 A A C G
## 226 T A C G
## 227 C A C G
## 228 G A C G
## 229 A T C G
## 230 T T C G
## 231 C T C G
## 232 G T C G
## 233 A C C G
## 234 T C C G
## 235 C C C G
## 236 G C C G
## 237 A G C G
## 238 T G C G
## 239 C G C G
## 240 G G C G
## 241 A A G G
## 242 T A G G
## 243 C A G G
## 244 G A G G
## 245 A T G G
## 246 T T G G
## 247 C T G G
## 248 G T G G
## 249 A C G G
## 250 T C G G
## 251 C C G G
## 252 G C G G
## 253 A G G G
## 254 T G G G
## 255 C G G G
## 256 G G G G
This was a really fun activity and I’m thinking it might be fun to come up with fun problems like this at the end of each Meetup. I am starting yet another spreadsheet to collect questions (you can post a link to an R notebook or Gist with R code if need be) which we can randomly choose from.
https://docs.google.com/spreadsheets/d/19HU-icl6P0rAObs8G_BX5BDQ5_5cPjzj8Fek6V3ZA4E/edit?usp=sharing