A function to quickly calculate the Low-Back-Merger Shift Index, per Becker (2019).
Arguments
- df
The dataframe containing the formant measurements you want to base the calculation off of.
- vowel_col
The name of the column containing the name of the vowel (e.g.
vowel)- F1_col
The name of the column containing the F1 measurements (e.g.
F1_norm)- F2_col
The name of the column containing the F2 measurements (e.g.
F2_norm)- beet
A string that indicates which vowels belong to the BEET class of words (e.g.
"IY")- bit
A string that indicates which vowels belong to the BIT class of words (e.g.
"IH")- bet
A string that indicates which vowels belong to the BET class of words (e.g.
"EH")- bat
A string that indicates which vowels belong to the BAT class of words (e.g.
"AE")
Details
If you would like to calculate the LBMS Index for each speaker, be sure to
the data beforehand with group_by() (see the examples). Also, per Becker's
(2019) recommendation, it is recommended that you exclude tokens before nasals,
laterals, rhotics, and /g/ before the calculation. It is also recommended to
run the function on Lobanov-normalized data.
Note that this is a new function and has not been tested robustly yet.
References
Becker, Kara, ed. The Low-Back-Merger Shift: Uniting the Canadian Vowel Shift, the California Vowel Shift, and Short Front Vowel Shifts across North America. Publication of the American Dialect Society 104. Durham, NC: Duke University Press, 2019.
Examples
suppressPackageStartupMessages(library(tidyverse))
# This dataset has following segment and normalized data already
darla <- joeysvowels::darla
darla %>%
filter(!fol_seg %in% c("L", "R", "M", "N", "NG", "G")) %>%
lbms_index(vowel, F1_LobanovNormed_unscaled, F2_LobanovNormed_unscaled, "IY", "IH", "EH", "AE")
#> # A tibble: 1 × 1
#> # Rowwise:
#> lbms_index
#> <dbl>
#> 1 1.50
# This dataset has multiple speakers and needs to be normalized
idahoans <- joeysvowels::idahoans
idahoans %>%
group_by(speaker) %>%
mutate(F1_lob = scale(F1),
F2_lob = scale(F2)) %>%
lbms_index(vowel, F1_lob, F2_lob, "IY", "IH", "EH", "AE")
#> # A tibble: 10 × 2
#> # Rowwise: speaker
#> speaker lbms_index
#> <fct> <dbl>
#> 1 01 2.33
#> 2 02 1.92
#> 3 03 1.85
#> 4 04 2.04
#> 5 05 2.05
#> 6 06 1.64
#> 7 07 2.17
#> 8 08 2.21
#> 9 09 2.07
#> 10 10 2.00