resp_nondifferentiation {resquin}R Documentation

Compute response nondifferentiation indicators

Description

Compute response nondifferentiation indicators for responses to multi-item scales or matrix questions.

Usage

resp_nondifferentiation(x, min_valid_responses = 1, id = T)

Arguments

x

A data frame containing survey responses in wide format. For more information see section "Data requirements" below.

min_valid_responses

Numeric between 0 and 1 of length 1. Defines the share of valid responses a respondent must have to calculate response quality indicators. Default is 1.

id

default is True. If the default value is supplied a column named id with integer ids will be created. If False is supplied, no id column will be created. Alternatively, a numeric or character vector of unique values identifying each respondent can be supplied. Needs to be of the same length as the number of rows of x.

Details

Response nondifferentiation is the result of response behavior in which respondents deviate from an ideal response process. Optimal response behavior is termed optimizing, while deviations from optimal response behavior are termed satisficing (Krosnik, 1991). Optimizing describes a behavior in which respondents go through all steps of comprehension, retrieval, judgment, and response selection. When satisficing, respondents skip all or parts of the optimal response process. Satisficing can lead to non-response, "don't know" responses, random responding or nondifferentiation. The later is targeted by the function resp_nondifferentiation().

Nondifferentiation is characterized by respondents choosing similar or even the same response options regardless of the content of the question. Multiple indicators for response nondifferentiation have been developed. For resp_nondifferentiation(), the following response nondifferentiation indicators described by Kim et al. (2017) are calculated per respondent:

It should be noted that Kim et al. (2017) average the response nondifferentiation indicators to obtain an aggregate measure for response nondifferentiation. To do so, the summary() function can be called on the results of resp_nondifferentiation(). Additionally, Kim et al. (2017) removed all respondents with missing values from their study. For resp_nondifferentiation() this is the default behavior (min_valid_responses = 1). Reducing the value of min_valid_responses can lead to problems. For example, respondents with less valid respones will have less of an opportunity to use all response options which in turn is used to calculate the Scale Point Variation Method indicator. Thus, consider whether allowing missing responses impacts the results indicators and subsequent analyses.

Value

Returns a data frame with response nondifferentiation indicators per respondent. Dimensions:

Data requirements

resp_nondifferentiationf() assumes that the input data frame is structured in the following way:

Author(s)

Matthias Roth

References

Kim, Yujin, Jennifer Dykema, John Stevenson, Penny Black, and D. Paul Moberg. 2019. “Straightlining: Overview of Measurement, Comparison of Indicators, and Effects in Mail–Web Mixed-Mode Surveys.” Social Science Computer Review 37(2):214–33. doi: 10.1177/0894439317752406.

Krosnick, Jon A. 1991. “Response Strategies for Coping with the Cognitive Demands of Attitude Measures in Surveys.” Applied Cognitive Psychology 5(3):213–36. doi: 10.1002/acp.2350050305.

See Also

resp_styles() for calculating response style indicators. resp_distributions() for calculating response distribution indicators.

Examples

# A small test data set with ten respondents
# and responses to three survey questions
# with response scales from 1 to 5.
testdata <- data.frame(
  var_a = c(1,4,3,5,3,2,3,1,3,NA),
  var_b = c(2,5,2,3,4,1,NA,2,NA,NA),
  var_c = c(1,2,3,NA,3,4,4,5,NA,NA))

# Calculate response nondifferentiation indicators
resp_nondifferentiation(x = testdata) |>
    round(2)

# Include respondents with NA values by decreasing the
# necessary number of valid responses per respondent.

resp_nondifferentiation(
      x = testdata,
      min_valid_responses = 0.2) |>
   round(2)

resp_nondifferentiation(
     x = testdata,
     min_valid_responses = 0.2) |>
  summary() # To obtain aggregate measures of response nondifferentiation

[Package resquin version 0.1.1 Index]