AI disclosure: We used ChatGPT and Claude to check our work.

For this exercise, please try to reproduce the results from Experiment 1 of the associated paper (Ko, Sadler & Galinsky, 2015). The PDF of the paper is included in the same folder as this Rmd file.

Methods summary:

A sense of power has often been tied to how we perceive each other’s voice. Social hierarchy is embedded into the structure of society and provides a metric by which others relate to one another. In 1956, the Brunswik Lens Model was introduced to examine how vocal cues might influence hierarchy. In “The Sound of Power: Conveying and Detecting Hierarchical Rank Through Voice,” Ko and colleagues investigated how manipulation of hierarchal rank within a situation might impact vocal acoustic cues. Using the Brunswik Model, six acoustic metrics were utilized (pitch mean & variability, loudness mean & variability, and resonance mean & variability) to isolate a potential contribution between individuals of different hierarchal rank. In the first experiment, Ko, Sadler & Galinsky examined the vocal acoustic cues of individuals before and after being assigned a hierarchal rank in a sample of 161 subjects (80 male). Each of the six hierarchy acoustic cues were analyzed with a 2 (high vs. low rank condition) x 2 (male vs. female) analysis of covariance, controlling for the baseline of the respective acoustic cue.


Target outcomes:

Below is the specific result you will attempt to reproduce (quoted directly from the results section of Experiment 1):

The impact of hierarchical rank on speakers’ acoustic cues. Each of the six hierarchy-based (i.e., postmanipulation) acoustic variables was submitted to a 2 (condition: high rank, low rank) × 2 (speaker’s sex: female, male) between-subjects analysis of covariance, controlling for the corresponding baseline acoustic variable. Table 4 presents the adjusted means by condition. Condition had a significant effect on pitch, pitch variability, and loudness variability. Speakers’ voices in the high-rank condition had higher pitch, F(1, 156) = 4.48, p < .05; were more variable in loudness, F(1, 156) = 4.66, p < .05; and were more monotone (i.e., less variable in pitch), F(1, 156) = 4.73, p < .05, compared with speakers’ voices in the low-rank condition (all other Fs < 1; see the Supplemental Material for additional analyses of covariance involving pitch and loudness). (from Ko et al., 2015, p. 6; emphasis added)

The adjusted means for these analyses are reported in Table 4 (Table4_AdjustedMeans.png, included in the same folder as this Rmd file).


Step 1: Load packages

library(tidyverse)   # for data munging
library(knitr)       # for kable table formating
library(haven)       # import and export 'SPSS', 'Stata' and 'SAS' Files
library(readxl)      # import excel files

# #optional packages:
# library(psych)
library(car)         # for ANCOVA
# library(compute.es) # for ANCOVA
library(lsmeans)     # for ANCOVA
library(effectsize)  # for calculating effect sizes

Step 2: Load data

# Just Experiment 1
d <-read_csv("data/S1_voice_level_Final.csv")
# DT::datatable(d)

Step 3: Tidy data

d = d %>%
  mutate(plev = factor(plev,
                       levels = c(-1,1),
                       labels = c("low", "high"))) %>%
  rename("rank" = plev) %>% 
  mutate(sex = as.factor(sex))

Step 4: Run analysis

Pre-processing

# build models

## pitch
model_pitch_mean <- lm(formula = pitch_smean ~ 1 + rank + sex +
                         pitch_rmean, data = d)

## pitch variability
model_pitch_var <- lm(formula = pitch_svar ~ 1 + rank + sex +
                        pitch_rvar, data = d)

## loudness
model_loud_mean <- lm(formula = intense_smean ~ 1 + rank + sex +
                        intense_rmean, data = d)

## loudness variability
model_loud_var <- lm(formula = intense_svar ~ 1 + rank + sex +
                       intense_rvar, data = d)

## resonance
model_resonance_mean <- lm(formula = form_smean ~ 1 + rank + sex +
                             form_rmean, data = d)

## resonance variability
model_resonance_var <- lm(formula =form_svar ~ 1 + rank + sex +
                            form_rvar, data = d)

Descriptive statistics

In the paper, the adjusted means by condition are reported (see Table 4, or Table4_AdjustedMeans.png, included in the same folder as this Rmd file). Reproduce these values below:

# calculate adjusted means and effect sizes

## pitch
emmeans(model_pitch_mean, ~ rank)
##  rank emmean   SE  df lower.CL upper.CL
##  low     155 1.04 157      153      158
##  high    159 1.02 157      157      161
## 
## Results are averaged over the levels of: sex 
## Confidence level used: 0.95
eta_squared(model_pitch_mean, partial = TRUE)
## # Effect Size for ANOVA (Type I)
## 
## Parameter   | Eta2 (partial) |       95% CI
## -------------------------------------------
## rank        |           0.02 | [0.00, 1.00]
## sex         |           0.95 | [0.94, 1.00]
## pitch_rmean |           0.76 | [0.71, 1.00]
## 
## - One-sided CIs: upper bound fixed at [1.00].
## pitch variability
emmeans(model_pitch_var, ~ rank)
##  rank emmean   SE  df lower.CL upper.CL
##  low    1649 73.1 157     1505     1793
##  high   1425 71.7 157     1284     1567
## 
## Results are averaged over the levels of: sex 
## Confidence level used: 0.95
eta_squared(model_pitch_var, partial = TRUE)
## # Effect Size for ANOVA (Type I)
## 
## Parameter  | Eta2 (partial) |       95% CI
## ------------------------------------------
## rank       |           0.04 | [0.01, 1.00]
## sex        |           0.36 | [0.27, 1.00]
## pitch_rvar |           0.30 | [0.20, 1.00]
## 
## - One-sided CIs: upper bound fixed at [1.00].
## loudness
emmeans(model_loud_mean, ~ rank)
##  rank emmean    SE  df lower.CL upper.CL
##  low    58.7 0.321 157     58.0     59.3
##  high   59.3 0.315 157     58.7     60.0
## 
## Results are averaged over the levels of: sex 
## Confidence level used: 0.95
eta_squared(model_loud_mean, partial = TRUE)
## # Effect Size for ANOVA (Type I)
## 
## Parameter     | Eta2 (partial) |       95% CI
## ---------------------------------------------
## rank          |           0.02 | [0.00, 1.00]
## sex           |       7.03e-04 | [0.00, 1.00]
## intense_rmean |           0.49 | [0.40, 1.00]
## 
## - One-sided CIs: upper bound fixed at [1.00].
## loudness variability
emmeans(model_loud_var, ~ rank)
##  rank emmean   SE  df lower.CL upper.CL
##  low     183 4.36 157      175      192
##  high    197 4.28 157      188      205
## 
## Results are averaged over the levels of: sex 
## Confidence level used: 0.95
eta_squared(model_loud_var, partial = TRUE)
## # Effect Size for ANOVA (Type I)
## 
## Parameter    | Eta2 (partial) |       95% CI
## --------------------------------------------
## rank         |           0.05 | [0.01, 1.00]
## sex          |           0.05 | [0.01, 1.00]
## intense_rvar |           0.44 | [0.35, 1.00]
## 
## - One-sided CIs: upper bound fixed at [1.00].
## resonance
emmeans(model_resonance_mean, ~ rank)
##  rank emmean   SE  df lower.CL upper.CL
##  low    1129 9.39 157     1110     1147
##  high   1129 9.21 157     1111     1148
## 
## Results are averaged over the levels of: sex 
## Confidence level used: 0.95
eta_squared(model_resonance_mean, partial = TRUE)
## # Effect Size for ANOVA (Type I)
## 
## Parameter  | Eta2 (partial) |       95% CI
## ------------------------------------------
## rank       |       5.24e-04 | [0.00, 1.00]
## sex        |           0.09 | [0.03, 1.00]
## form_rmean |           0.08 | [0.02, 1.00]
## 
## - One-sided CIs: upper bound fixed at [1.00].
## resonance variability
emmeans(model_resonance_var, ~ rank)
##  rank emmean   SE  df lower.CL upper.CL
##  low   43669 1540 157    40636    46702
##  high  42176 1510 157    39201    45151
## 
## Results are averaged over the levels of: sex 
## Confidence level used: 0.95
eta_squared(model_resonance_var, partial = TRUE)
## # Effect Size for ANOVA (Type I)
## 
## Parameter | Eta2 (partial) |       95% CI
## -----------------------------------------
## rank      |       4.55e-03 | [0.00, 1.00]
## sex       |       4.46e-04 | [0.00, 1.00]
## form_rvar |           0.02 | [0.00, 1.00]
## 
## - One-sided CIs: upper bound fixed at [1.00].

Inferential statistics

The impact of hierarchical rank on speakers’ acoustic cues. Each of the six hierarchy-based (i.e., postmanipulation) acoustic variables was submitted to a 2 (condition: high rank, low rank) × 2 (speaker’s sex: female, male) between-subjects analysis of covariance, controlling for the corresponding baseline acoustic variable. […] Condition had a significant effect on pitch, pitch variability, and loudness variability. Speakers’ voices in the high-rank condition had higher pitch, F(1, 156) = 4.48, p < .05; were more variable in loudness, F(1, 156) = 4.66, p < .05; and were more monotone (i.e., less variable in pitch), F(1, 156) = 4.73, p < .05, compared with speakers’ voices in the low-rank condition (all other Fs < 1; see the Supplemental Material for additional analyses of covariance involving pitch and loudness).

# reproduce the above results here
Anova(model_pitch_mean, type = 3)
## Anova Table (Type III tests)
## 
## Response: pitch_smean
##             Sum Sq  Df  F value  Pr(>F)    
## (Intercept)    361   1   4.2102 0.04184 *  
## rank           379   1   4.4289 0.03693 *  
## sex            460   1   5.3666 0.02182 *  
## pitch_rmean  43143   1 503.7844 < 2e-16 ***
## Residuals    13445 157                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(model_pitch_var, type = 3)
## Anova Table (Type III tests)
## 
## Response: pitch_svar
##               Sum Sq  Df  F value    Pr(>F)    
## (Intercept) 59870488   1 142.0539 < 2.2e-16 ***
## rank         2006828   1   4.7616   0.03059 *  
## sex         26142260   1  62.0274 5.243e-13 ***
## pitch_rvar  28136055   1  66.7580 9.555e-14 ***
## Residuals   66169736 157                       
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(model_loud_mean, type = 3)
## Anova Table (Type III tests)
## 
## Response: intense_smean
##                Sum Sq  Df  F value    Pr(>F)    
## (Intercept)    220.36   1  27.1139 5.936e-07 ***
## rank            17.69   1   2.1772 0.1420729    
## sex            104.18   1  12.8180 0.0004572 ***
## intense_rmean 1225.47   1 150.7844 < 2.2e-16 ***
## Residuals     1275.99 157                       
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(model_loud_var, type = 3)
## Anova Table (Type III tests)
## 
## Response: intense_svar
##              Sum Sq  Df  F value    Pr(>F)    
## (Intercept)   26364   1  17.5636 4.624e-05 ***
## rank           7052   1   4.6979   0.03171 *  
## sex           29860   1  19.8927 1.554e-05 ***
## intense_rvar 184966   1 123.2221 < 2.2e-16 ***
## Residuals    235669 157                       
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(model_resonance_mean, type = 3)
## Anova Table (Type III tests)
## 
## Response: form_smean
##              Sum Sq  Df F value    Pr(>F)    
## (Intercept)   38637   1  5.5648 0.0195564 *  
## rank             13   1  0.0018 0.9661743    
## sex           80559   1 11.6027 0.0008364 ***
## form_rmean    89155   1 12.8409 0.0004520 ***
## Residuals   1090064 157                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(model_resonance_var, type = 3)
## Anova Table (Type III tests)
## 
## Response: form_svar
##                 Sum Sq  Df F value    Pr(>F)    
## (Intercept) 6.3449e+09   1 34.2667 2.719e-08 ***
## rank        8.8735e+07   1  0.4792    0.4898    
## sex         4.2843e+07   1  0.2314    0.6312    
## form_rvar   4.8771e+08   1  2.6340    0.1066    
## Residuals   2.9070e+10 157                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Step 5: Reflection

Were you able to reproduce the results you attempted to reproduce? If not, what part(s) were you unable to reproduce?

We were able to reproduce the reported means for all six acoustic cues. Our effect sizes differed slightly from those reported in the original paper, with those for pitch, pitch variability, loudness, and loudness variability being slightly larger in our reproduction. Our reproduced F and significance values were consistent, although did not match exactly, with the original paper.

How difficult was it to reproduce your results?

It was moderatley difficult to reproduce these results.

What aspects made it difficult? What aspects made it easy?

The inclusion of a data dictionary was helpful in understanding the variables, although the naming conventions were confusing. It was also challenging to know exactly how they conducted their analyses (e.g. what software packages did they use?), which may explain the slight differences in some of our statistical outputs.