-
Notifications
You must be signed in to change notification settings - Fork 2
/
Pod_hopping.Rmd
73 lines (56 loc) · 2.75 KB
/
Pod_hopping.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
---
title: "Pod hopping"
output: html_notebook
---
## Preliminaries
```{r}
library(tidyverse)
```
## Instructions
Grab your laptop with RStudio open, the tally sheet, and a writing utensil. All the pods have letters and numbers on them.
1. Put a tally mark under your current pod's letter on the tally sheet. (You should make this mark even if you're stuck at the same pod for several turns. In other words, make a tally mark every time you repeat this set of steps.)
2. Find your next "target" pod. If you are at an end pod ("A" or "F"), look over at the pod closest to you, but don't move yet! In other words, if you are at pod "A", look over at pod "B", and if you're at pod "F", look over at pod "E". If you are in the middle of the room somewhere, flip a coin. If heads, look at the next pod earlier in the alphabet. If tails, look over at the next pod later in the alphabet.
3.
* If the number at your target pod is **bigger** than the number at your current pod:
* Move to the target pod. That pod will become your new current pod. Go back to Step 1.
* If the number at your target pod is **smaller** than the number at your current pod, it's more complicated:
* Calculate the fraction $\frac{target\:pod\:number}{current\:pod\:number}\:$ in R. This should be a number between 0 and 1. (If it's not, you messed up in the previous step.)
* Run the command `runif(1)` in an R console:
* If the number you get from runif(1) is **less than** the fraction $\frac{target\:pod\:number}{current\:pod\:number}\:,$ then move to the target pod. That pod will become your new current pod. Go back to Step 1.
* If the number you get from runif(1) is **greater than** the fraction $\frac{target\:pod\:number}{current\:pod\:number}\:,$ then stay at your current pod. Go back to Step 1.
At the end of the time limit, the person with the most tally marks wins!
## Code to calculate results
```{r}
# Enter results below with one vector
# for each participant.
results <-
c(7, 25, 2, 1, 0, 0) +
c(0, 0, 1, 10, 20, 2) +
c(2, 12, 1, 2, 10, 5) +
c(0, 0, 0, 12, 21, 2) +
c(1, 6, 2, 10, 7, 2) +
c(0, 0, 0, 16, 30, 2)
results
```
```{r}
pods <- LETTERS[1:6]
pod_values <- c(3, 5, 1, 4, 6, 2)
scaled_pod_values <- pod_values/sum(pod_values)
scaled_results <- results/sum(results)
df_actual <- tibble(pods,
values = scaled_pod_values,
which = "Actual")
df_estimated <- tibble(pods,
values = scaled_results,
which = "Estimated")
df_final <- bind_rows(df_actual, df_estimated)
df_final
```
```{r}
ggplot(df_final, aes(y = values, x = pods)) +
geom_col() +
facet_grid(which ~ .) +
labs(title = "Actual vs. estimated distributions",
y = "Proportion",
x = "Pods")
```