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")
Previous
Next