1.4. Response
Introduction
Unit nonresponse (operationalized as the ratio of valid questionnaires to the sample frame addressed by the telephone recruitment effort) can be divided into different “dropout” points: at the stage of telephone contact; after receiving the prepaid incentive and never attempting to participate; and due to item nonresponse on more than 14 items.
Telephone recruitment
The distribution at the moment of telephone contact is captured in PUMA1
:
WaveOne$PUMA1 %>%
table() %>%
as.data.frame() %>%
setNames(c("Response", "Frequency")) %>%
kable(escape = F, format = "html") %>%
kable_styling(bootstrap_options = c("striped", "hover",
"condensed", "responsive"),
full_width = F, position = "center")
Response | Frequency |
---|---|
Yes, I’ll participate (internet access available) | 1513 |
Yes, perhaps (please send me more information) | 42 |
Yes, I’m essentially interested, but I don’t have internet access | 115 |
No, I cannot participate for other reasons (such as German-language skills) | 93 |
No, I’m not interested | 2527 |
Incentive received
Only category Yes, I’ll participate (internet access available)
and Yes, perhaps (please send me more information)
received the incentive.
table(WaveOne$PUMA1[is.na(WaveOne$PUMA1)==FALSE] %in% levels(WaveOne$PUMA1)[1:2]) %>%
as.data.frame() %>%
setNames(c("Incentive", "Frequency")) %>%
kable(escape = F, format = "html") %>%
kable_styling(bootstrap_options = c("striped", "hover",
"condensed", "responsive"),
full_width = F, position = "center")
Incentive | Frequency |
---|---|
FALSE | 2735 |
TRUE | 1555 |
Recruitment after incentive
Item nonresponse is operationalised as a count variable with a minimum of zero missing items and a maximum of 14 items.
WaveOne %>%
# filter all contacted by telephone
filter(is.na(PUMA1)==FALSE) %>%
# filter all receiving incentive
filter(PUMA1==levels(WaveOne$PUMA1)[1] | PUMA1==levels(WaveOne$PUMA1)[2]) %>%
#filter(valid==1) %>%
dplyr::select(valid) %>%
table() %>%
setNames(c("Nonresponse", "Response")) %>%
kable("html",
escape = F,
col.names = c(" ", "Frequency")) %>%
kable_styling(bootstrap_options = c("striped", "hover",
"condensed", "responsive"),
full_width = F, position = "center")
Frequency | |
---|---|
Nonresponse | 506 |
Response | 1049 |
Data cleaning according to meta data
A few cases need to be excluded as unreliable as the date meta data didn’t match the information provided by the respondent.
WaveOne %>%
# filter all contacted by telephone
filter(is.na(PUMA1)==FALSE) %>%
# filter all receiving incentive
filter(PUMA1==levels(WaveOne$PUMA1)[1] | PUMA1==levels(WaveOne$PUMA1)[2]) %>%
filter(valid==1) %>%
dplyr::select(datenotok) %>%
table() %>%
setNames(c("Response", "Nonresponse")) %>%
kable("html",
escape = F,
col.names = c(" ", "Frequency")) %>%
kable_styling(bootstrap_options = c("striped", "hover",
"condensed", "responsive"),
full_width = F, position = "center")
Frequency | |
---|---|
Response | 1029 |
Nonresponse | 20 |
Subset variables
Througout the article different subset are applied and filter variables will ease the selection.
#### Wave One ####
## Create ID ID variables
# Identify persons addressed by telephone
WaveOne$id.bru <- 0
WaveOne$id.bru[is.na(WaveOne$PUMA1) == FALSE] <- 1
WaveOne$id.bru[WaveOne$datenotok==levels(WaveOne$datenotok)[2]] <- 0
# Identify persons recruited by telephone
WaveOne$id.rek <- 0
WaveOne$id.rek[is.na(WaveOne$PUMA1) == FALSE &
as.numeric(WaveOne$PUMA1) < 3] <- 1
# Identifiy person with valid information
WaveOne$id.net <- 0
WaveOne$id.net[is.na(WaveOne$PUMA1) == FALSE &
as.numeric(WaveOne$PUMA1) < 3 &
WaveOne$valid == 1] <- 1
Finally, a new response variable rr
is created and the labels of the incentive groups are fixed.
# Response Wave One
WaveOne$rr <-"Non-Response"
WaveOne$rr[(WaveOne$PUMA1==levels(WaveOne$PUMA1)[1] |
WaveOne$PUMA1==levels(WaveOne$PUMA1)[2]) &
WaveOne$valid == 1 &
WaveOne$datenotok == "Datum ident"] <- "Response"
levels(WaveOne$Pumavers) <- c("Broschüre",
"2€ Münze",
"5€ Münze",
"Gutschein")