Introduction

This notebook is a means of showing our work in our gender analysis. It makes extensive use of the dplyr filter function. Search occurs through usage of booleans.

Data

Data for this analysis was accessed January 3, 2020 from: https://github.com/qsideinstitute/AMS-letters-study/

library(readr)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
df <- read_csv("./Desktop/Gender/AMS-letters-data.csv")
## Parsed with column specification:
## cols(
##   name = col_character(),
##   affiliation = col_character(),
##   lettergroup = col_character(),
##   gender = col_character(),
##   ethnicity = col_character(),
##   isurm = col_character(),
##   highered = col_character(),
##   institution = col_character(),
##   research = col_character(),
##   country = col_character(),
##   role = col_character(),
##   security = col_character(),
##   field = col_character(),
##   simplefield = col_character()
## )
#as.factor allows data to be searched as a categorical variable, instead of a string
df$lettergroup <- as.factor(df$lettergroup)
df$gender <- as.factor(df$gender)
df$role <- as.factor(df$role)
df$security <- as.factor(df$security)
df$institution <- as.factor(df$institution)
df$lettergroup <- as.factor(df$lettergroup)
df$research <- as.factor(df$research)

Summary statistics

summary(df)
##      name           affiliation         lettergroup        gender   
##  Length:1431        Length:1431        A and B:  6   man      :971  
##  Class :character   Class :character   A Only :615   nonbinary:  1  
##  Mode  :character   Mode  :character   B and C: 74   woman    :452  
##                                        B Only :600   NA's     :  7  
##                                        C Only :136                  
##                                                                     
##                                                                     
##   ethnicity            isurm             highered        
##  Length:1431        Length:1431        Length:1431       
##  Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character  
##                                                          
##                                                          
##                                                          
##                                                          
##         institution    research     country                 role    
##  domesticother:381   lessri:486   Length:1431        professor:630  
##  domesticr1   :676   moreri:881   Class :character   associate:210  
##  domesticr2   :105   NA's  : 64   Mode  :character   assistant:194  
##  international:205                                   grad     :119  
##  NA's         : 64                                   ntt      : 92  
##                                                      (Other)  : 85  
##                                                      NA's     :101  
##        security      field           simplefield       
##  lesssecure:422   Length:1431        Length:1431       
##  moresecure:907   Class :character   Class :character  
##  NA's      :102   Mode  :character   Mode  :character  
##                                                        
##                                                        
##                                                        
## 

ALL

All variable are those who are more or less secure with non NaN gender, ie security == moresecure OR lesssecure.

# A
table(na.omit(filter(df, (lettergroup=="A Only"|lettergroup=="A and B")&(security=="moresecure"|security=="lesssecure"))$gender))
## 
##       man nonbinary     woman 
##       278         1       294
#A cap B
table(na.omit(filter(df, (lettergroup=="A and B")&(security=="moresecure"|security=="lesssecure"))$gender))
## 
##       man nonbinary     woman 
##         5         0         1
#B
table(na.omit(filter(df, (lettergroup=="B Only"|lettergroup=="A and B"|lettergroup=="B and C")&(security=="moresecure"|security=="lesssecure"))$gender))
## 
##       man nonbinary     woman 
##       529         0        95
#B cap C
table(na.omit(filter(df, (lettergroup=="B and C")&(security=="moresecure"|security=="lesssecure"))$gender))
## 
##       man nonbinary     woman 
##        65         0         7
# C
table(na.omit(filter(df, (lettergroup=="C Only"|lettergroup=="B and C")&(security=="moresecure"|security=="lesssecure"))$gender))
## 
##       man nonbinary     woman 
##       163         0        44
#B cup C including A cap B
table(na.omit(filter(df, (lettergroup=="B Only"|lettergroup=="A and B"|lettergroup=="C Only"|lettergroup=="B and C")&(security=="moresecure"|security=="lesssecure"))$gender))
## 
##       man nonbinary     woman 
##       627         0       132
#A cup B cup C
table(na.omit(filter(df,(security=="moresecure"|security=="lesssecure"))$gender))
## 
##       man nonbinary     woman 
##       900         1       425

Non-r1

research == lessri AND (security == moresecure OR lesssecure)

# A
table(na.omit(filter(df, (lettergroup=="A Only"|lettergroup=="A and B")&(research=="lessri")&(security=="moresecure"|security=="lesssecure"))$gender))
## 
##       man nonbinary     woman 
##       160         1       172
#A cap B
table(na.omit(filter(df, (lettergroup=="A and B")&(research=="lessri")&(security=="moresecure"|security=="lesssecure"))$gender))
## 
##       man nonbinary     woman 
##         2         0         1
#B
table(na.omit(filter(df, (lettergroup=="B Only"|lettergroup=="A and B"|lettergroup=="B and C")&(research=="lessri")&(security=="moresecure"|security=="lesssecure"))$gender))
## 
##       man nonbinary     woman 
##       105         0        34
#B cap C
table(na.omit(filter(df, (lettergroup=="B and C")&(research=="lessri")&(security=="moresecure"|security=="lesssecure"))$gender))
## 
##       man nonbinary     woman 
##         1         0         0
# C
table(na.omit(filter(df, (lettergroup=="C Only"|lettergroup=="B and C")&(research=="lessri")&(security=="moresecure"|security=="lesssecure"))$gender))
## 
##       man nonbinary     woman 
##         4         0         3
#B cup C including A cap B
table(na.omit(filter(df, (lettergroup=="B Only"|lettergroup=="A and B"|lettergroup=="C Only"|lettergroup=="B and C")&(research=="lessri")&(security=="moresecure"|security=="lesssecure"))$gender))
## 
##       man nonbinary     woman 
##       108         0        37
#A cup B cup C
table(na.omit(filter(df,(security=="moresecure"|security=="lesssecure")&(research=="lessri"))$gender))
## 
##       man nonbinary     woman 
##       266         1       208

untenured-R1

security != moresecure AND research == moreri. We use != moresecure to account for nans.

# A
table(na.omit(filter(df, ((lettergroup=="A Only"|lettergroup=="A and B")&(security!="moresecure")&(research=="moreri")))$gender))
## 
##       man nonbinary     woman 
##        79         0        91
#A cap B
table(na.omit(filter(df, ((lettergroup=="A and B")&(security!="moresecure")&(research=="moreri")))$gender))
## 
##       man nonbinary     woman 
##         2         0         0
#B
table(na.omit(filter(df, ((lettergroup=="B Only"|lettergroup=="A and B"|lettergroup=="B and C")&(security!="moresecure")&(research=="moreri")))$gender))
## 
##       man nonbinary     woman 
##        83         0        18
#B cap C
table(na.omit(filter(df, ((lettergroup=="B and C")&(security!="moresecure")&(research=="moreri")))$gender))
## 
##       man nonbinary     woman 
##         1         0         0
# C
table(na.omit(filter(df, ((lettergroup=="C Only"|lettergroup=="B and C")&(security!="moresecure")&(research=="moreri")))$gender))
## 
##       man nonbinary     woman 
##         2         0         0
#B cup C
table(na.omit(filter(df, ((lettergroup=="B Only"|lettergroup=="A and B"|lettergroup=="B and C"|lettergroup=="C Only")&(security!="moresecure")&(research=="moreri")))$gender))
## 
##       man nonbinary     woman 
##        84         0        18
#A cup B cup C
table(na.omit(filter(df,((security!="moresecure")&(research=="moreri")))$gender))
## 
##       man nonbinary     woman 
##       161         0       109

tenure-track-R1

research == moreri AND (role == assistant OR security == secure)

# A
table(na.omit(filter(df, ((lettergroup=="A Only"|lettergroup=="A and B")&(research=="moreri")&(security=="moresecure"|role=="assistant")))$gender))
## 
##       man nonbinary     woman 
##        58         0        58
#A cap B
table(na.omit(filter(df, ((lettergroup=="A and B")&(research=="moreri")&(security=="moresecure"|role=="assistant")))$gender))
## 
##       man nonbinary     woman 
##         1         0         0
#B
table(na.omit(filter(df, ((lettergroup=="B Only"|lettergroup=="A and B"|lettergroup=="B and C")&(research=="moreri")&(security=="moresecure"|role=="assistant")))$gender))
## 
##       man nonbinary     woman 
##       375         0        51
#B cap C
table(na.omit(filter(df, ((lettergroup=="B and C")&(research=="moreri")&(security=="moresecure"|role=="assistant")))$gender))
## 
##       man nonbinary     woman 
##        63         0         7
# C
table(na.omit(filter(df, ((lettergroup=="C Only"|lettergroup=="B and C")&(research=="moreri")&(security=="moresecure"|role=="assistant")))$gender))
## 
##       man nonbinary     woman 
##       157         0        41
#B cup C
table(na.omit(filter(df, ((research=="moreri")&(lettergroup=="B Only"|lettergroup=="A and B"|lettergroup=="B and C"|lettergroup=="C Only")&(security=="moresecure"|role=="assistant")))$gender))
## 
##       man nonbinary     woman 
##       469         0        85
#A cup B cup C
table(na.omit(filter(df,((research=="moreri")&(security=="moresecure"|role=="assistant")))$gender))
## 
##       man nonbinary     woman 
##       526         0       143

tenured-R1

research == moreri AND security == moresecure

# A
table(na.omit(filter(df, ((lettergroup=="A Only"|lettergroup=="A and B")&(research=="moreri")&(security=="moresecure")))$gender))
## 
##       man nonbinary     woman 
##        39         0        31
#A cap B
table(na.omit(filter(df, ((lettergroup=="A and B")&(research=="moreri")&(security=="moresecure")))$gender))
## 
##       man nonbinary     woman 
##         1         0         0
#B
table(na.omit(filter(df, ((lettergroup=="B Only"|lettergroup=="A and B"|lettergroup=="B and C")&(research=="moreri")&(security=="moresecure")))$gender))
## 
##       man nonbinary     woman 
##       341         0        43
#B cap C
table(na.omit(filter(df, ((lettergroup=="B and C")&(research=="moreri")&(security=="moresecure")))$gender))
## 
##       man nonbinary     woman 
##        63         0         7
# C
table(na.omit(filter(df, ((lettergroup=="C Only"|lettergroup=="B and C")&(research=="moreri")&(security=="moresecure")))$gender))
## 
##       man nonbinary     woman 
##       157         0        41
#B cup C
table(na.omit(filter(df, ((research=="moreri")&(lettergroup=="B Only"|lettergroup=="A and B"|lettergroup=="B and C"|lettergroup=="C Only")&(security=="moresecure")))$gender))
## 
##       man nonbinary     woman 
##       435         0        77
#A cup B cup C
table(na.omit(filter(df,((research=="moreri")&(security=="moresecure")))$gender))
## 
##       man nonbinary     woman 
##       473         0       108