This function processes a typicality matrix to identify base-rate items by comparing typicality scores of descriptions between all unique pairs of groups.

extract_base_rate_items(typicality_matrix)

Arguments

typicality_matrix

A numeric matrix or data frame where rows are groups and columns are descriptions. If a data frame, the first column is assumed to contain the group names.

Value

A data frame with the following columns:

Group1

The group with the higher typicality score for the description.

Group2

The group with the lower typicality score.

Description

The description (e.g., adjective) being compared.

Score1

The typicality score for Group1.

Score2

The typicality score for Group2.

StereotypeStrength

The log-ratio: log(Score1 / Score2). Always >= 0.

Details

For each pair of groups and each description (e.g., adjective), it identifies which group received the higher typicality score. The output includes the names of both groups, their scores, and the log-ratio between the higher and lower score.

It can be quite slow for large matrices, as the number of items becomes very large.

By construction, the returned Group1 always has a higher or equal typicality score than Group2 for a given description. This ensures that the resulting StereotypeStrength (defined as log(Score1 / Score2)) is always positive or zero, and represents the strength of the stereotypical association in favor of Group1.

Examples

mat <- matrix(runif(9, 1, 100), nrow = 3,
              dimnames = list(c("GroupA", "GroupB", "GroupC"),
                              c("smart", "brave", "greedy")))
extract_base_rate_items(mat)
#>   Group1 Group2 Description   Score1    Score2 StereotypeStrength
#> 1 GroupB GroupA       smart 83.59897  8.994264          2.2294442
#> 2 GroupA GroupB       brave 16.56364  1.732545          2.2576184
#> 3 GroupA GroupB      greedy 50.27996 29.686957          0.5268988
#> 4 GroupC GroupA       smart 60.47533  8.994264          1.9056485
#> 5 GroupC GroupA       brave 47.17296 16.563636          1.0466111
#> 6 GroupC GroupA      greedy 73.55532 50.279961          0.3804311
#> 7 GroupB GroupC       smart 83.59897 60.475328          0.3237957
#> 8 GroupC GroupB       brave 47.17296  1.732545          3.3042295
#> 9 GroupC GroupB      greedy 73.55532 29.686957          0.9073299