mnreadParam: Standard MNREAD parameters' estimation

View source: R/all_mnread_param.R

mnreadParamR Documentation

Standard MNREAD parameters' estimation

Description

This function calculates simultaneously all four MNREAD parameters:

  • Maximum Reading Speed (MRS)

  • Critical Print Size (CPS)

  • Reading Acuity (RA)

  • Reading ACCessibility Index (ACC)

while performing print size correction for non-standard testing viewing distance.

Usage

mnreadParam(
  data,
  print_size,
  viewing_distance,
  reading_time,
  errors,
  ... = NULL
)

Arguments

data

The name of your dataframe

print_size

The variable that contains print size values for each sentence (print size uncorrected for viewing distance)

viewing_distance

The variable that contains the viewing distance value used for testing

reading_time

The variable that contains the reading time for each sentence

errors

The variable that contains the number of errors for each sentence

...

Optional grouping arguments

Value

The function returns a new dataframe with four variables:

  • "RA" -> contains the Reading Acuity estimate (in logMAR)

  • "CPS" -> contains the Critical Print Size estimate (in logMAR)

  • "MRS" -> contains the Maximum Reading Speed estimate (in words/min)

  • "ACC" -> contains the Reading Accessibility Index estimate

Notes

This function uses the original algorithm described in Legge (2007) to estimate Maximum Reading Speed (MRS) and Critical Print Size (CPS). This algorithm searches for a reading speed plateau in the data. A plateau is defined as a range of print sizes that supports reading speed at a significantly faster rate than the print sizes smaller or larger than the plateau range. Concretely, the plateau is determined as print sizes which reading speed is at least 1.96 SD faster than the other print sizes. The Maximum Reading Speed is estimated as the mean reading speed for print sizes included in the plateau. The Critical Print Size is defined as the smallest print size on the plateau.

For more details on the parameters estimation, see https://legge.psych.umn.edu/mnread-acuity-charts

For more details on the original algorithm, see Chapter 5 of this book:\ Legge, G.E. (2007). Psychophysics of Reading in Normal and Low Vision. Mahwah, NJ & London: Lawrence Erlbaum Associates. ISBN 0-8058-4328-0 https://books.google.fr/books/about/Psychophysics_of_Reading_in_Normal_and_L.html?id=BGTHS8zANiUC&redir_esc=y

To ensure proper estimation of the MRS and CPS, individual MNREAD curves should be plotted using mnreadCurve and inspected visually.

Warning

For the function to run properly, one needs to make sure that the variables are of the class:

  • print_size -> numeric

  • viewing_distance -> integer

  • reading_time -> numeric

  • errors -> integer

In cases where only 3 or less sentences were read during a test, the function won't be able to estimate the MRS and CPS and will return NA values instead. The ACC should be used to estimate the MNREAD score in such cases where there are not enough data points to fit the MNREAD curve.

To ensure proper ACC calculation, the data should be entered along certain rules:

  • For the smallest print size that is presented but not read, right before the test is stopped: reading_time = NA, errors = 10

  • For all the small sentences that are not presented because the test was stopped before them: reading_time = NA, errors = NA

  • If a sentence is presented, and read, but the time was not recorded by the experimenter: reading_time = NA, errors = actual number of errors (cf. s5-regular in low vision data sample)

  • If a large sentence was skipped to save time but would have been read well: reading_time = NA, errors = NA (cf. s1-regular in normal vision data sample)

  • If a large sentence was skipped to save time because the subject cannot read large print: reading_time = NA, errors = 10 (cf. s7 in low vision data sample)

See Also

curveParam_RT for standard MRS and CPS estimation using values of reading time (instead of reading speed)

curveParam_RS for standard MRS and CPS estimation using values of reading speed (instead of reading time)

nlmeParam for MRS and CPS estimation using a nonlinear mixed-effect model (NLME)

readingAcuity for Reading Acuity calculation

accIndex for Reading Accessibility Index calculation

Examples

# inspect the structure of the dataframe
head(data_low_vision, 10)

#------

# restrict dataset to one MNREAD test only (subject s1, regular polarity)
data_s1 <- data_low_vision %>%
   filter (subject == "s1", polarity == "regular")

# run the parameters estimation
data_low_vision_param <- mnreadParam(data_s1, ps, vd, rt, err)

# inspect the newly created dataframe
data_low_vision_param

#------

# run the parameters estimation on the whole dataset grouped by subject and polarity
data_low_vision_param <- mnreadParam(data_low_vision, ps, vd, rt, err,
                                           subject, polarity)

# inspect the structure of the newly created dataframe
head(data_low_vision_param, 10)


mnreadR documentation built on May 29, 2024, 1:34 a.m.