Skip to contents

Data from a large-scale direct replication of Williams, Sng, and Neuberg (2016), testing whether high-wealth individuals are perceived as having faster life history strategies (e.g., more impulsive, less invested) when associated with "desperate" ecological conditions compared to "hopeful" ones.

Usage

data(williams)

Format

A data frame with 112 rows (one per participant) and 25 variables:

subject

Unique subject identifier (integer).

ecology

Experimental condition: "Desperate" or "Hopeful" (character).

age

Participant's age in years (numeric).

gender

Self-reported gender: 1 = Male, 2 = Female (numeric); may be recoded as factor.

duration_in_seconds

Time taken to complete the survey (numeric).

attention_1

First attention check response: 1 = correct, 0 = incorrect (numeric). Simulated for illustrative purposes; not actual participant responses.

attention_2

Second attention check response: 1 = correct, 0 = incorrect (numeric). Simulated for illustrative purposes; not actual participant responses.

SexUnres_1

Perceived sexual unrestrictedness: "likely to have short-term relationships" (1–7 Likert).

SexUnres_2

"likely to engage in casual sex" (1–7).

SexUnres_3

"not interested in long-term commitment" (1–7).

SexUnres_4_r

"faithful to romantic partners" — reverse-coded (1–7).

SexUnres_5_r

"committed in relationships" — reverse-coded (1–7).

Impuls_1

"acts without thinking" (1–7).

Impuls_2_r

"thinks carefully before acting" — reverse-coded (1–7).

Impul_3_r

"plans ahead" — reverse-coded (1–7).

% Note: likely typo in original; was Impul not Impuls?
Opport_1

"opportunities for long-term planning exist" (1–7).

Opport_2

"can save money for the future" (1–7).

Opport_3

"can make career plans" (1–7).

Opport_4

"can plan for retirement" (1–7).

Opport_5

"has control over future outcomes" (1–7).

Opport_6_r

"life is unpredictable" — reverse-coded (1–7).

InvEdu_1_r

"invests in education" — reverse-coded (1–7).

InvEdu_2_r

"values academic achievement" — reverse-coded (1–7).

InvChild_1

"invests time and resources in children" (1–7).

InvChild_2_r

"neglects parental responsibilities" — reverse-coded (1–7).

Source

Williams, K. E. G., Sng, O., & Neuberg, S. L. (2016). Ecology-driven stereotypes override race stereotypes. Proceedings of the National Academy of Sciences, 113(2), 310–315. doi:10.1073/pnas.1519401113

Data released as part of a large-scale direct replication by Holzmeister, F., Camerer, C., Chen, Y., Dreber, A., Hoogeveen, S., Huber, J., ... Waldén, V. (2024, November 19). Data and Analysis. Retrieved from https://osf.io/47drs

Details

Note that the attention_1 and attention_2 columns are not part of the original data. They contain simulated responses that were added by the package authors for illustrative purposes only, and do not reflect actual participant responses.

Examples

data(williams)
str(williams)
#> spc_tbl_ [112 × 25] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
#>  $ subject            : chr [1:112] "A30MP4LXV4MIFD" "A16X5FB3HAFCKN" "A1E9D1OT9VJYDZ" "A16FPOYD7566WI" ...
#>  $ SexUnres_1         : num [1:112] 5 7 2 5 5 5 5 4 6 4 ...
#>  $ SexUnres_2         : num [1:112] 3 7 4 4 5 6 6 6 5 4 ...
#>  $ SexUnres_3         : num [1:112] 2 7 6 5 6 6 5 5 6 4 ...
#>  $ SexUnres_4_r       : num [1:112] 3 4 3 3 3 3 3 2 3 1 ...
#>  $ SexUnres_5_r       : num [1:112] 2 2 3 3 3 2 4 3 2 1 ...
#>  $ Impuls_1           : num [1:112] 3 6 3 4 5 5 5 6 6 1 ...
#>  $ Impuls_2_r         : num [1:112] 3 2 3 4 2 3 3 2 3 1 ...
#>  $ Impul_3_r          : num [1:112] 2 1 3 4 4 3 2 3 2 1 ...
#>  $ Opport_1           : num [1:112] 1 5 3 4 4 4 5 5 5 1 ...
#>  $ Opport_2           : num [1:112] 2 7 5 4 6 3 5 4 4 4 ...
#>  $ Opport_3           : num [1:112] 2 7 5 4 4 4 6 5 5 1 ...
#>  $ Opport_4           : num [1:112] 3 6 3 5 4 6 5 5 4 4 ...
#>  $ Opport_5           : num [1:112] 1 6 3 4 5 4 6 6 4 1 ...
#>  $ Opport_6_r         : num [1:112] 3 2 3 4 3 3 2 2 3 2 ...
#>  $ InvEdu_1_r         : num [1:112] 2 3 2 3 4 3 3 3 3 2 ...
#>  $ InvEdu_2_r         : num [1:112] 3 2 3 4 3 4 2 3 4 1 ...
#>  $ InvChild_1         : num [1:112] 2 5 6 5 5 5 6 5 6 1 ...
#>  $ InvChild_2_r       : num [1:112] 3 2 3 4 3 4 2 4 3 2 ...
#>  $ age                : num [1:112] 34 30 40 35 26 33 33 30 48 33 ...
#>  $ gender             : num [1:112] 1 1 1 2 2 2 2 1 2 2 ...
#>  $ ecology            : chr [1:112] "Hopeful" "Desperate" "Desperate" "Hopeful" ...
#>  $ duration_in_seconds: num [1:112] 164 100 47 31 40 32 98 34 32 87 ...
#>  $ attention_1        : num [1:112] 1 1 1 1 1 1 1 1 1 0 ...
#>  $ attention_2        : num [1:112] 1 1 1 1 1 1 1 1 1 1 ...
#>  - attr(*, "spec")=List of 3
#>   ..$ cols   :List of 25
#>   .. ..$ subject            : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
#>   .. ..$ SexUnres_1         : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ SexUnres_2         : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ SexUnres_3         : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ SexUnres_4_r       : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ SexUnres_5_r       : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ Impuls_1           : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ Impuls_2_r         : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ Impul_3_r          : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ Opport_1           : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ Opport_2           : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ Opport_3           : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ Opport_4           : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ Opport_5           : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ Opport_6_r         : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ InvEdu_1_r         : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ InvEdu_2_r         : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ InvChild_1         : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ InvChild_2_r       : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ age                : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ gender             : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ ecology            : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
#>   .. ..$ duration_in_seconds: list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ attention_1        : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ attention_2        : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   ..$ default: list()
#>   .. ..- attr(*, "class")= chr [1:2] "collector_guess" "collector"
#>   ..$ delim  : chr ";"
#>   ..- attr(*, "class")= chr "col_spec"
#>  - attr(*, "problems")=<pointer: (nil)> 
table(williams$ecology)
#> 
#> Desperate   Hopeful 
#>        56        56 

# Compute composite scores (example)
if (requireNamespace("dplyr", quietly = TRUE)) {
  library(dplyr)

  williams_composites <- williams |>
    rowwise() |>
    mutate(
      sexual_unrestrictedness = mean(c(SexUnres_1, SexUnres_2, SexUnres_3,
                                     8 - SexUnres_4_r, 8 - SexUnres_5_r), na.rm = TRUE),
      impulsivity = mean(c(Impuls_1, 8 - Impuls_2_r, 8 - Impul_3_r), na.rm = TRUE),
      opportunity = mean(c(Opport_1, Opport_2, Opport_3, Opport_4, Opport_5,
                           8 - Opport_6_r), na.rm = TRUE),
      investment = mean(c(8 - InvEdu_1_r, 8 - InvEdu_2_r, InvChild_1,
                          8 - InvChild_2_r), na.rm = TRUE)
    ) |>
    ungroup()

  summary(williams_composites[ , c("sexual_unrestrictedness", "impulsivity")])
}
#>  sexual_unrestrictedness  impulsivity   
#>  Min.   :3.000           Min.   :3.000  
#>  1st Qu.:4.200           1st Qu.:4.667  
#>  Median :4.800           Median :5.000  
#>  Mean   :4.802           Mean   :5.027  
#>  3rd Qu.:5.400           3rd Qu.:5.667  
#>  Max.   :6.600           Max.   :7.000