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 GroupA GroupB       smart 50.27996 29.686957          0.5268988
#> 2 GroupB GroupA       brave 87.58547 77.479630          0.1226000
#> 3 GroupB GroupA      greedy 32.71819  4.389892          2.0086265
#> 4 GroupC GroupA       smart 73.55532 50.279961          0.3804311
#> 5 GroupA GroupC       brave 77.47963 18.319122          1.4420696
#> 6 GroupC GroupA      greedy 40.83050  4.389892          2.2301246
#> 7 GroupC GroupB       smart 73.55532 29.686957          0.9073299
#> 8 GroupB GroupC       brave 87.58547 18.319122          1.5646696
#> 9 GroupC GroupB      greedy 40.83050 32.718187          0.2214981