-
Notifications
You must be signed in to change notification settings - Fork 0
/
exp0_analysis.Rmd
119 lines (98 loc) · 3.18 KB
/
exp0_analysis.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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
---
title: "Norming Data"
date: "`r Sys.Date()`"
output:
pdf_document:
toc: yes
toc_depth: 3
html_document:
toc: yes
toc_depth: '3'
df_print: paged
github_document:
toc: yes
toc_depth: 3
editor_options:
markdown:
wrap: 72
---
```{r setup, include=FALSE}
library(tidyr)
library(dplyr)
library(magrittr)
library(stringr)
library(ggplot2)
library(ggrepel)
library(knitr)
```
For the norming study, 51 participants on MTurk rated 92 first names on
a scale from 1 being "very masculine" to 7 being "very feminine." The
masculine and feminine names were selected from the top 100 names
according to US census data:
> United States Social Security Administration. (2019). *Top names over
> the last 100 years* [Data Set]. United States Social Security
> Administration.
> <https://www.ssa.gov/oact/babynames/decades/century.html>
The androgynous names were selected from a list of names that were given
at least one-third of the time to AFAB children in the US and also at
least one-third of the time to AMAB children.
> Flowers, A. (2015). *Unisex names data* [Data Set]. FiveThirtyEight.
> <https://github.com/fivethirtyeight/data/tree/master/unisex-names>
```{r load-data}
all_ratings <- read.csv("../data/exp0_data_norming.csv",
stringsAsFactors = TRUE) %>%
select(-gender) %>%
# pivot to have one row per name, not one column per name
pivot_longer(
cols = c(-ResponseId),
names_to = "Name",
values_to = "GenderRating"
)
```
Mean and SD of gender ratings for each name, sorted from most feminine
to most masculine.
```{r mean-ratings}
mean_ratings <- all_ratings %>%
group_by(Name) %>%
summarise(
MeanGenderRating = mean(GenderRating),
SD = sd(GenderRating)
) %>%
arrange(desc(MeanGenderRating))
kable(mean_ratings)
```
Selected 21 names from these results, with 3 names around each of the 7
intervals.
```{r select-names}
names_used <- mean_ratings %>%
filter(str_detect(
Name,
paste(sep = "",
"Matthew|Brian|James|Chris|Tommie|Emerson|Stevie|Quinn|Reese|",
"Taylor|Riley|Jessie|Kerry|Blair|Jackie|Jody|Elisha|Ashley|Mary|",
"Rebecca|Emily"
)
)) %>%
filter(Name != "Christopher")
kable(names_used, digits = 2)
```
To check to see if the norming data were biased to call names more
masculine, I compared them to the US census data for gender assigned at
birth.
> United States Social Security Administration. (2020). *Beyond the top
> 1000 names* [Data Set]. United States Social Security Administration.
> <https://www.ssa.gov/oact/babynames/limits.html>
```{r census-data}
census <- read.csv("../data/exp0_data_census.csv")
names_used <- left_join(names_used, census, by = "Name")
```
Calculate the correlation:
```{r correlations}
cor.test(names_used$MeanGenderRating, names_used$Census_ProbFemale)
```
A few of the androgynous names have bigger discrepancies, likely because
their gender associations have been changing over time. Overall, though,
the mean difference is close to 0, and not all of the differences
involve the norming data over-estimating the masculinity of a name.
And visualize it:
![Correlations between birth certificate data and norming study.](../plots/norming-names.png)