1 Purpose

In this R Markdown file we analyze the response behavior. This software is free for private, non-commercial use only. Please contact the authors for commercial usage.

2 Summary

This code analyzes the response behavior, including differences in median time spent by block, component, task sequence, attribute order, object location, and ten respondent characteristics (5 demographic and 5 SES). Furthermore, we analyze changed responses, response references and comments given by the respondents. This code does not examine the preference evidence.

3 Load the libraries

rm(list = ls()) # clear memory
setwd("C:/Users/maksat/Box Sync/USF PC/EuroQol/Kaisen task/paper1/Wave 1/markdown")
library(gtsummary) # for tbl_summary command
library(coin) # for median_test command as well as survival
library(survival) # for median_test command as well as coin
library(reshape2) # for command mint and dcast
library(dplyr) # for command rename
library(huxtable) # for command as_hux_table
library(knitr) # for 

4 Data Notation

Below, we present data notations and definitions of new variables created.

4.1 Subject and task index

subject, i = 1 to N; task, t = 1 to T;

T1 is the number of coma comparison tasks and paired comparison tasks including warmup

T2 is the number of kaizen tasks including warmup

4.2 Temporal data

‘cc_time’ is the time in seconds to complete the five coma comparisons

‘pc_time’ is the time in seconds to complete the ten paired comparisons

‘kz_time’ is the time in seconds to complete the ten kaizen tasks

‘quota’ is a categorical variable for the 18 demographic quotas

‘changed_response’ is an indicator of a changed response in the task data

4.3 Demographic variables

‘age_range’ is an indicator variable for respondent age range
1: 18 and 34 years of age
2: 35 and 54 years of age
3: 55+

‘female’
0: male/other
1: female

‘hispanic’ is an indicator variable for hispanic respondents
1: hispanic
0: not hispanic

‘race’ will be categorized as following:
1 White alone
2 Black or African American alone
3 Other

‘region’ is an indicator variable for the US regions
1 Northeast region of the US
2 Midwest region of the US
3 South region of the US
4 West region of the US

4.4 Socio-economic status (SES) variables

‘parent’ is an indicator variable for type of parenting
1 the respondent is a parent
0 the respondent is not a parent

‘marital’ is a categorical variable for mariatal status
1 married
2 never married
3 other

‘edu’ is an indicator variable
1: high school or less
2: associate/some college
3: bachelors or more

‘income’ is a categorical variable for respondent’s income
1 Less than 49,999 USD
2 50,000 USD to 99,999 USD
3 100,000 USD or more

‘community’ is a categorical variable for where respondents reside
1 urban
2 suburban/don’t know/not sure
3 rural

‘comment_cat’ is a categorical variable for survey comments
1 informative
2 non-informative positive
3 non-informative negative
4 non-informative neutral/none/nothing/no
5 missing

5 Load the Data

## load the respondent data
resp_i = read.csv("resp_i_231010.csv")
resp_i <- resp_i[resp_i$incomplete==0,] ## Only completes

# load temporal data
time_it = read.csv("time_it_231010.csv")
time_it = time_it[time_it$incomplete==0,][,1:3] ## Only completes

# load the paired comparison data
pc_it = read.csv("pc_it_231010.csv")
pc_it <- pc_it[pc_it$incomplete==0,] ## Only completes
pc_it = merge( pc_it, time_it, by.x = c("id","task"), 
               by.y = c("id","page"), all.x = T) ## add ptime to tasks

# load the kaizen task data
kz_it = read.csv("kz_it_231010.csv")
kz_it <- kz_it[kz_it$incomplete==0,] ## Only completes
kz_it = merge( kz_it, time_it, by.x = c("id","task"), 
               by.y = c("id","page"), all.x = T) ## ptime to tasks

# load the comments data
comments = read.csv("comments231010_final.csv")

6 Specify the settings

# specify the setting
N = 631 ## number of complete survey record
Z = 230 ## number of variables per record
Z1 = 131 ## the number of respondent-specific variables 
Z2 = 28  ## the number of task-specific variables
Z3 = 71  ## the number of temporal variables (e.g., page times)  
T1 = 17 ## number of paired comparisons per respondent
T2 = 11 ## number of kaizen tasks per respondent
spec = c(N, Z, Z1, Z2, Z3, T1, T2)  ## summary of setting specification

7 Specify the functions

# function to produce median and iqr by variable
median_iqr_by_variable <- function(variable, data, subset_condition) {
  component_data <- data %>%filter(subset_condition) %>% 
    select(c(variable, "ptime")) %>% tbl_summary(by = variable, 
    statistic = list(all_continuous() ~ "{median} ({p25}, {p75})")) %>%
    add_p(everything() ~ "chisq.test") %>%  as_hux_table()
  assign(paste("component_", deparse(substitute(data)), "_", variable, sep = ""), 
         component_data, envir = .GlobalEnv)
  if (variable!="AMO"){print(component_data)}
}

# function to perform the Mood's median test
perform_mood_test <- function(variable, data, subset_condition) {
  subset_data <- data[subset_condition,]
  mood_test(ptime ~ as.factor(subset_data[[variable]]), data = subset_data)
}

# function to analyze changed responses
assess_changed_responses <- function(variable, data, subset_condition) {
  changed_responses_data <- data.frame(unclass(table(variable, data$changed_response)))
  p_value <- chisq.test(changed_responses_data)$p.value
  return(p_value)
}

# function to analyze task preferences
assess_task_preferences <- function(variable, data, subset_condition) {
  task_preferences_data1 <- data.frame(unclass(table(variable, data$G11Q01.SQ001)))
  p_value1 <- chisq.test(task_preferences_data1)$p.value
  task_preferences_data2 <- data.frame(unclass(table(variable, data$G11Q01.SQ002)))
  p_value2 <- chisq.test(task_preferences_data2)$p.value
  task_preferences_data3 <- data.frame(unclass(table(variable, data$G11Q01.SQ003)))
  p_value3 <- chisq.test(task_preferences_data3)$p.value
  return(rbind(p_value1,p_value2,p_value3))
}

# function to analyze comments
assess_comments <- function(variable, data, subset_condition) {
  comments_data <- data.frame(unclass(table(variable, data$comment_cat)))
  p_value <- chisq.test(comments_data)$p.value
  return(p_value)
}

8 Recode the data

8.1 Temporal and component data

# create component times
time_i = dcast(time_it, id~page, value.var = "ptime") # convert time_it from long to wide
time_i$cc_time <- rowSums(subset(time_i, select = c(G06Q01:G06Q05)))
time_i$pc_time <- rowSums(subset(time_i, select = c(G08Q01:G08Q10)))
time_i$kz_time <- rowSums(subset(time_i, select = c(G10Q01:G10Q10)))
resp_i <- merge(resp_i, subset(time_i, select = c(id, interviewtime, cc_time, 
                pc_time, kz_time)), by = "id", all.x = T)

# create 'quota'
resp_i$quota = apply(subset(resp_i, select = c(quota01:quota18)), 1,
                     function(x) ifelse(x[1]!="",as.integer(which(x == "yes")),""))

# create 'changed_response'
pc_it$changed_response <- ifelse(grepl("0",pc_it$U) & grepl("1",pc_it$U),1,0)
kz_it$changed_response <- ifelse(grepl("R",kz_it$U),1,0)
kz_it = kz_it %>% rename("AMO" = "ASO") # attribute order

8.2 Demographic variables

# create 'age_range' 
resp_i$age_range = as.numeric(cut(resp_i$G02Q02, breaks = c(18, 34, 54, 
      max(resp_i$G02Q02, na.rm = T)), labels = c(1, 2, 3), include.lowest = T))

# create 'female' 
resp_i$female = as.numeric(ifelse(resp_i$G02Q03 == "female", 1, 0))

# create 'race'
resp_i$race = apply((subset(resp_i, select = c(G02Q05.AO00.:G02Q05.AO14.)) 
               == "Yes")*1, 1, function(x) ifelse(sum(x) == 1 & x[1] == 1, 1,
               ifelse(sum(x) == 1 & x[2] == 1, 2, 3)))

# create 'hispanic' 
resp_i$hispanic = ifelse(substr(resp_i$G02Q04,1,1) == "y", 1, 0)

# US census regions
# create a list consisting of four US regions
states = subset(resp_i, select = c(id, G02Q01))
regions = list(
  northeast = c("Connecticut", "Maine", "Massachusetts", "New Hampshire", 
          "Rhode Island", "Vermont", "New York", "Pennsylvania", "New Jersey"),
  midwest = c("Indiana", "Illinois", "Michigan", "Ohio", "Wisconsin", "Iowa", 
          "Kansas", "Minnesota", "Missouri", "Nebraska", "North Dakota", 
          "South Dakota"),
  south = c("Delaware", "Washington, DC", "Florida", "Georgia", "Maryland", 
          "North Carolina", "South Carolina", "Virginia", "West Virginia", 
          "Alabama", "Kentucky", "Mississippi", "Tennessee", "Arkansas", 
          "Louisiana", "Oklahoma", "Texas"),
  west = c("Arizona", "Colorado", "Idaho", "New Mexico", "Montana", "Utah", 
          "Nevada", "Wyoming", "Alaska", "California", "Hawaii", "Oregon", 
          "Washington"))

# create a 0/1 variable or each state indicating which region they belong
for(region in names(regions)) {
  resp_i[region] = as.integer(as.logical(sapply(resp_i$G02Q01, 
                      function(x) any(trimws(x) %in% regions[[region]]))))}

# convert 0/1 to a categorical variable 
# (1: Northeast, 2: Midwest, 3: South, 4: West)
resp_i$region = apply(resp_i[,c("northeast", "midwest", "south", "west")], 1, 
      function(x) ifelse(x[1] == 1, 1, ifelse(x[2] == 1, 2, ifelse(x[3] == 1, 3, 
      ifelse(x[4] == 1, 4, "")))))

8.3 SES variables

# create 'parent'
resp_i$parent = apply((subset(resp_i, select = c(G11Q02.SQ001.:G11Q02.SQ007.)) 
                 == "Yes")*1, 1, function(x) ifelse(any(1 %in% x[1:4]), 1, 0))

# create 'marital'
resp_i$marital = ifelse(resp_i$G11Q06 == "now married" | 
  resp_i$G11Q06 == "married", 1, ifelse(resp_i$G11Q06 == "never married", 2, 3))

# create 'edu'
resp_i$edu = ifelse(resp_i$G11Q07 == "less than 1st grade" | 
      resp_i$G11Q07 == "1st, 2nd, 3rd, or 4th grade" | resp_i$G11Q07 == 
      "5th or 6th grade" | resp_i$G11Q07 == "7th and 8th grade" | 
      resp_i$G11Q07 == "9th grade" | 
      resp_i$G11Q07 == "10th grade" | resp_i$G11Q07 == "11th grade" | 
      resp_i$G11Q07 == "12th grade no diploma" | 
      resp_i$G11Q07 == "high school graduate - high school diploma or equivalent", 1, 
      ifelse(resp_i$G11Q07 == "some college but no degree" | resp_i$G11Q07 == 
      "associate degree in college - occupation/vocation program" | 
      resp_i$G11Q07 == "associate degree in college - academic program", 2, 3))

# create 'income'
resp_i$income = ifelse(resp_i$G11Q08 == "under $10,000" | 
    resp_i$G11Q08 == "$10,000 to under $20,000" | 
    resp_i$G11Q08 == "$20,000 to under $30,000" | resp_i$G11Q08 == 
    "$30,000 to under $40,000" | resp_i$G11Q08 == "$40,000 to under $50,000", 1, 
    ifelse(resp_i$G11Q08 == "$50,000 to under $75,000" |  
    resp_i$G11Q08 == "$75,000 to under $100,000", 2, 3))

# create 'community'
resp_i$community = ifelse(resp_i$G11Q05 == "urban", 1, 
                   ifelse(resp_i$G11Q05 == "rural", 3, 2))

# merge task data with subjectindex quota and 5 demographic and 5 SES variables
resp_char = c("id", "subjectindex", "quota", "pc_cnum2", "female", "age_range", "race", 
              "hispanic", "region", "parent", "marital", "edu", "income", "community")
pc_it <- merge(pc_it, subset(resp_i, select = resp_char), by = "id", all.x = T)
kz_it <- merge(kz_it, subset(resp_i, select = resp_char), by = "id", all.x = T)

# Subset the tasks by component, excluding warmups 
cc2_it <- pc_it[ pc_it$tnum2 >1 & pc_it$tnum2 <= 6,]
pc2_it <- pc_it[ pc_it$tnum2 >7,]
kz2_it <- kz_it[ kz_it$tnum2 >1,]

9 Descriptive Analysis

First, we look at the time it took for respondents to complete the whole interview and by component (i.e., coma comparisons, paired comparisons and kaizen tasks)

# median and IQR interview and component times
median1 = rbind(quantile(resp_i$interviewtime, probs = seq(0, 1, 0.25), na.rm=TRUE),
quantile(resp_i$cc_time, probs = seq(0, 1, 0.25), na.rm=TRUE),
quantile(resp_i$pc_time, probs = seq(0, 1, 0.25), na.rm=TRUE),
quantile(resp_i$kz_time, probs = seq(0, 1, 0.25), na.rm=TRUE))
rownames(median1) = c("Interview time", "Coma comparison", "Paired comparison", "Kaizen task")
median1
##                       0%     25%     50%      75%    100%
## Interview time    345.10 757.120 1023.00 1438.085 7565.89
## Coma comparison    13.59  41.970   58.04   83.475  908.12
## Paired comparison  19.15  86.035  138.07  208.125 2270.67
## Kaizen task        31.49 113.375  154.51  229.495 1359.90
# median and IQR task time overall, by component
median2 = rbind(quantile(pc_it$ptime[pc_it$tnum2 ==1], probs = seq(0, 1, 0.25), na.rm=TRUE),
quantile(cc2_it$ptime, probs = seq(0, 1, 0.25), na.rm=TRUE),
quantile(pc_it$ptime[pc_it$tnum2 ==7], probs = seq(0, 1, 0.25), na.rm=TRUE),
quantile(pc2_it$ptime, probs = seq(0, 1, 0.25), na.rm=TRUE),
quantile(kz_it$ptime[kz_it$tnum2 ==1], probs = seq(0, 1, 0.25), na.rm=TRUE),
quantile(kz2_it$ptime, probs = seq(0, 1, 0.25), na.rm=TRUE))
rownames(median2) = c("Coma comparison warmup", 
                      "Coma comparison", "Paired comparison warmup", 
                      "Paired comparison", "Kaizen task warmup", "Kaizen task")
median2
##                            0%     25%   50%    75%    100%
## Coma comparison warmup   7.88 27.1750 41.23 59.490  529.11
## Coma comparison          1.36  6.4900 10.23 16.105  743.63
## Paired comparison warmup 3.37 15.3650 23.05 34.000  358.96
## Paired comparison        1.21  6.8000 11.79 19.475 2038.58
## Kaizen task warmup       6.70 30.5550 44.00 64.215  486.20
## Kaizen task              2.47  9.0625 13.51 21.250  917.08

We now use the function median_iqr_by_variable() to generate variables which contain median and IQR task time by component and task sequence. Subsequently, we will use perform_mood_test() function to compute the p-value for Mood’s median test

median_iqr_by_variable("tnum2", cc2_it, TRUE)
median_iqr_by_variable("tnum2", pc2_it, TRUE)
median_iqr_by_variable("tnum2", kz2_it, TRUE)
perform_mood_test("tnum2", cc2_it, TRUE)
perform_mood_test("tnum2", pc2_it, TRUE)
perform_mood_test("tnum2", kz2_it, TRUE)

We now create the table for median and IQR task time by component and task sequence.

a = data.frame(component_cc2_it_tnum2[2,2:6])
b = data.frame(component_pc2_it_tnum2[2,2:11])
c = data.frame(component_kz2_it_tnum2[2,2:11])
d=dplyr::bind_rows(a, b, c)
d[,11] = c(round(pvalue(mood_test(ptime ~ as.factor(cc2_it[["tnum2"]]), data = cc2_it)),4),round(pvalue(mood_test(ptime ~ as.factor(pc2_it[["tnum2"]]), data = pc2_it)),4),round(pvalue(mood_test(ptime ~ as.factor(kz2_it[["tnum2"]]), data = kz2_it)),4))
d=t(d)
d = cbind(c(1:10,"Mood's Median p-value"),d)
colnames(d) = c("Task number", "Coma comparison", "Paired comparison","Kaizen task")
d[is.na(d)]=""
kable(d, align = "c", caption = "**Median and IQR Task Time by Component and Task Sequence**", row.names = FALSE, escape = FALSE, centering = T)
Median and IQR Task Time by Component and Task Sequence
Task number Coma comparison Paired comparison Kaizen task
1 16 (11, 24) 16 (10, 27) 22 (15, 33)
2 12 (9, 17) 13 (8, 21) 17 (11, 24)
3 9 (6, 14) 12 (7, 20) 14 (10, 22)
4 8 (5, 13) 12 (7, 19) 14 (9, 21)
5 7 (4, 11) 12 (6, 20) 13 (9, 21)
6 12 (6, 20) 13 (8, 20)
7 11 (6, 17) 12 (8, 19)
8 11 (6, 18) 12 (8, 19)
9 10 (6, 17) 11 (8, 17)
10 10 (5, 16) 11 (8, 16)
Mood’s Median p-value 0.0000 0.5754 0.0002

Next, we analyze median and IQR task time by component and respondent characteristics. Namely, by block (i.e., subjectindex), quota, component order (i.e., pc_cnum2) and 10 demographic/SES characteristics as shown below. For brevity, below we only print the output of median and IQR task time by block for only paired comparison component.

# median and IQR task time by component and respondent characteristics
resp_char2 = c("subjectindex", "quota", "pc_cnum2", "female", "age_range", 
               "race", "hispanic", "region", "parent", "marital", "edu", "income", "community")

# loop over components and respondent characteristics
lapply(resp_char2, function(variable) {
  median_iqr_by_variable(variable, cc2_it, TRUE)
  perform_mood_test(variable, cc2_it, TRUE)
})

lapply(resp_char2, function(variable) {
  median_iqr_by_variable(variable, pc2_it, TRUE)
  perform_mood_test(variable, pc2_it, TRUE)
})

lapply(resp_char2, function(variable) {
  median_iqr_by_variable(variable, kz2_it, TRUE)
  perform_mood_test(variable, kz2_it, TRUE)
})
a = cbind(data.frame(component_pc2_it_subjectindex[2,2:5]),
          pvalue(mood_test(ptime ~ as.factor(pc2_it[["subjectindex"]]), data = pc2_it)))
colnames(a) = c("Block 1", "Block 2", "Block 3","Block 4", "Mood's median p-value")
kable(a, align = "c", caption = "**Median and IQR Task Time by Block 
      for Paired Comparison Component**", row.names = FALSE, escape = FALSE, centering = T)
Median and IQR Task Time by Block for Paired Comparison Component
Block 1 Block 2 Block 3 Block 4 Mood’s median p-value
11 (6, 19) 12 (7, 19) 12 (6, 19) 12 (8, 20) 1.358867e-08

Now we look into the frequency of changed responses by component.

# frequency of changed responses 
a = rbind(mean(pc_it$changed_response[pc_it$tnum2 ==1]),
mean(cc2_it$changed_response),
mean(pc_it$changed_response[pc_it$tnum2 ==7]),
mean(pc2_it$changed_response),
mean(kz_it$changed_response[kz_it$tnum2 ==1]),
mean(kz2_it$changed_response))
a = cbind(c("Coma comparison warmup","Coma comparison","Paired comparison warmup",
            "Paired comparison","Kaizen task warmup","Kaizen task"),round(a,4))
kable(a, align = "l", caption = "**Frequency of Changed Responses**", 
      row.names = FALSE, escape = FALSE, centering = T)
Frequency of Changed Responses
Coma comparison warmup 0.2837
Coma comparison 0.0418
Paired comparison warmup 0.0856
Paired comparison 0.0553
Kaizen task warmup 0.1981
Kaizen task 0.0559
# frequency of changed responses by component and task sequence
a = data.frame(t(aggregate(cc2_it$changed_response, list(cc2_it$tnum2), FUN=mean)[,2]))
b = data.frame(t(aggregate(pc2_it$changed_response, list(pc2_it$tnum2), FUN=mean)[,2]))
c = data.frame(t(aggregate(kz2_it$changed_response, list(kz2_it$tnum2), FUN=mean)[,2]))
d=dplyr::bind_rows(a,b,c)
d = cbind(c(1:10),t(round(d,4)))
d[is.na(d)] = ""
colnames(d) = c("Tasks #", "Coma comparison","Paired comparison", "Kaizen tasks")
kable(d, align = "c", caption = "**Frequency of Changed Responses by Component 
      and Task Sequence**", row.names = FALSE, escape = FALSE, centering = T)
Frequency of Changed Responses by Component and Task Sequence
Tasks # Coma comparison Paired comparison Kaizen tasks
1 0.0681 0.065 0.0872
2 0.0475 0.038 0.0602
3 0.0206 0.0539 0.0681
4 0.0396 0.0507 0.0491
5 0.0333 0.0539 0.0507
6 0.0571 0.0666
7 0.0681 0.0586
8 0.0618 0.0317
9 0.0586 0.046
10 0.046 0.0412

We now analyze whether changed responses associated with respondent characteristics. Below, we show the p-values for each component and respondent characteristic.

# assess whether changed responses equally by respondent characteristic
resp_char3 = c("tnum2", "AMO", "subjectindex", "quota", "pc_cnum2", "female", 
               "age_range", "race", "hispanic", "region", "parent", "marital", 
               "edu", "income", "community")

# Loop through the variables and assess changed response equality
# Coma comparison
a =data.frame(round(sapply(resp_char3, function(variable) {
  assess_changed_responses(cc2_it[[variable]], cc2_it)
}),4))

# Paired comparison
b =data.frame(round(sapply(resp_char3, function(variable) {
  assess_changed_responses(pc2_it[[variable]], pc2_it)
}),4))

# Kaizen task
c =data.frame(round(sapply(resp_char3, function(variable) {
  assess_changed_responses(kz2_it[[variable]], kz2_it)
}),4))

d = cbind(resp_char3,a,b,c)
colnames(d) = c("Respondent characteristics", "Coma comparison",
                "Paired comparison", "Kaizen tasks")
kable(d, align = "l", caption = "**Frequency of Changed Responses by Component 
      and Task Sequence**", row.names = FALSE, escape = FALSE, centering = T)
Frequency of Changed Responses by Component and Task Sequence
Respondent characteristics Coma comparison Paired comparison Kaizen tasks
tnum2 0.0006 0.4595 0.0015
AMO 0.0000 0.0000 0.1192
subjectindex 0.3959 0.7121 0.4756
quota 0.0000 0.0000 0.0002
pc_cnum2 0.9504 0.2726 0.3853
female 0.3874 0.2517 0.6325
age_range 0.0020 0.0000 0.0000
race 0.7121 0.0714 0.2199
hispanic 0.0183 0.4178 0.0352
region 0.0041 0.4824 0.9227
parent 0.6131 0.0951 0.0001
marital 0.0449 0.0011 0.0001
edu 0.1079 0.7147 0.5569
income 0.0802 0.9060 0.7521
community 0.0984 0.1010 0.0455

We also look at task preferences

# Task preference
pref_resp = c("Task 1: Choosing between two children with health problems",
              "Leaning towards Task 1", "About the same", 
              "Leaning towards Task 2", 
              "Task 2: Relieving the health problems of a child sequentially")
resp_i$preference1 = ifelse(resp_i$G11Q01.SQ001. == pref_resp[1], 1, 
      ifelse(resp_i$G11Q01.SQ001. == pref_resp[2], 2, 
      ifelse(resp_i$G11Q01.SQ001. == pref_resp[3], 3, 
      ifelse(resp_i$G11Q01.SQ001. == pref_resp[4], 4, 5))))
resp_i$preference2 = ifelse(resp_i$G11Q01.SQ002. == pref_resp[1], 1, 
      ifelse(resp_i$G11Q01.SQ002. == pref_resp[2], 2, 
      ifelse(resp_i$G11Q01.SQ002. == pref_resp[3], 3, 
      ifelse(resp_i$G11Q01.SQ002. == pref_resp[4], 4, 5))))
resp_i$preference3 = ifelse(resp_i$G11Q01.SQ002. == pref_resp[1], 1, 
      ifelse(resp_i$G11Q01.SQ002. == pref_resp[2], 2, 
      ifelse(resp_i$G11Q01.SQ002. == pref_resp[3], 3, 
      ifelse(resp_i$G11Q01.SQ002. == pref_resp[4], 4, 5))))

preference = rbind(table(resp_i$preference1), table(resp_i$preference2), 
                   table(resp_i$preference3))
row.names(preference) = c("Prefer to complete", "Easier to complete", 
                          "Easier to understand")
colnames(preference) = pref_resp
kable(preference, align = "l", caption = "**Task Preferences**", row.names = TRUE, 
      escape = FALSE, centering = T)
Task Preferences
Task 1: Choosing between two children with health problems Leaning towards Task 1 About the same Leaning towards Task 2 Task 2: Relieving the health problems of a child sequentially
Prefer to complete 70 64 240 85 172
Easier to complete 96 72 245 78 140
Easier to understand 96 72 245 78 140

We categorized the comments we received from the respondents into four: (1) informative, (2) non-informative positive, (3) non-informative negative, (4) none/no/missing. Here are some of the informative comments:

colnames(comments) = c("ID", "Comments", "Comment category")
kable(comments[,-1], align = "l", caption = "**Comments**", row.names = T, 
      escape = FALSE, centering = T)
Comments
Comments Comment category
1 the decision making process of deciding which condition to relieve for a child is a difficult one. In some cases, I chose the condition which I believe was the most onerous and that drove my decision. 1
2 very confusing survey 1
3 I thought the Task 1 and Task 2 questions were confusing…….that’s just me. 1
4 i would perfer a child be 100% healthy 1
5 I enjoyed the survey, but I think some of the instruction was a bit confusing for me. 1
6 THIS WAS A DIFFERENT KIND OF SURVEY FOR ME. I ENJOYED DOING IT. IT MADE ME THINK. THANK YOU 1
7 I thoroughly enjoyed this survey, being a parent, surveys like this really hit home and I woulde love to see more like this! 1
8 I think some of the questions were a little hard to answer, and the feelings are connected to each other. For example, if someone is having difficulty walking, that means they are probably having trouble completing normal tasks, which can cause feelings of anxiety or depression. I just felt like it was a thought to share. 1
9 WEird. Pin is about the most important thing to me for a child. Less pain is better always. 1
10 I had GBS when I was younger 1
11 It was very easy to follow with thorough directions and examples 1
12 Wow these were tough choices 1
13 Although I found it an odd survey topic at first, I enjoyed this survey and hope my responses were helpful in some way. I would gladly take a similar survey topic again. 1
14 less repetitive questions 1
15 it made me remember what my granddaughter went through being born 3 months early and has CP 1
16 very interesting survey. I would enjoy doing these types of surveys that will help make changes 1
17 My son was born with Tetralogy of Fallot. He had open heart surgery when he was two. After his surgery he spent a week in a coma. That week was very hard on me, but after he woke up it was hard on him. He survived and is now 27 buying his first home. 1
18 I don’t know how I did, but I enjoyed this survey very much. It was different than anything I have done. I wouldn’t change anything. 1
19 I really found this survey to be awesome! Very interesting to me, because I have two sons and one is autistic and my youngest has childhood diabetes. Needless to say, I am so very blessed that now, both are grown and starting families of thier own. 1
20 Make some of the choices easier and less repetitive questions 1
21 I just thought this survey was very thought provoking and hard hitting. 1
22 This survey was well polished and fun to take. Thank you for allowing me to complete it. 1
23 this has got to be one of the poorest designed surveys I have taken in a long time….. 1
24 There was a question that asked for the number of children living or not living in your household, I had to skip this question because neither choice represented not having children at all. 1
25 The tasks were slightly confusing to understand. 1
26 This survey was very straight forward and understandable. Really loved that they explain everything detailed out to help simplify things as much as possible. 1
27 i would suggest labeling the top of the list with the type of child 1
28 Frankly, asking to choose between those 2 scenarios was like choosing whether to be shot or be poisoned. 1
29 This survey was an interesting topic, not expected either. It was difficult to choose many of the options and not think hard into the answers. 1
30 I’ve done a survey like this before. 1
31 I enjoyed this survey and experience as it was well laid out and explained. 1
32 I wish it was explained a bit better 1
33 i think this was one of the more interesting surveys ive taken. i just wish they paid more for the time put in. 1
34 the surveys were very repetitive. 1
35 more clicks on one page 1
36 this was a very difficult and somber survey. Those choices were brutal. 1
37 this was hard to choose but very intresting i did like 1
38 was at time a little confusing 1
39 This was a very interesting survey one that was hard to imagine but happens to parents everyday 1
40 I think this was a great survey to evaluate the different types of important health to recognize in children. This was not a simple survey, it did require a lot of thought and consideration. I do, however, believe that participants need to have experience with children prior to being able to take this survey because a clear understanding of a child’s mind and lifestyle is needed. 1
41 make the first few questions a little easier to understand or have other alternatives because obviously people are going to pick those few little inconveniences to their daily life for a week rather than being in a coma 1
42 It was a lot of data to process and was a little confusing. I kept wanting to choose which one was worse. 1
43 some of the tasks were harder to understand what was wanted. It is also quite a bit of reading that was not completely clear. 1
44 those were some tough choices 1
45 There are only 2 genders. 1
46 Very difficult choices, but I tend to look at the child’s pain and emotional state first. 1
47 i really enjoyed that…very different that many other surveys. I did think about my own children though, which made it kind of sad…but much more engaging 1
48 This is a thought provoking survey. Many thanks for the disclaimers and “trigger warnings” provided at the beginning. 1
49 Some questions need a “not sure, or none of these, or all of these” answers. 1
50 very different survey 1
51 I would use capital letters on your questions/answers. Otherwise no changes. 1
52 Interesting survey, the first set of questions was difficult for me. I really struggled deciding between choosing between the coma or discomfort options for the hypothetical child. 1
53 It was difficult to choose between the alternatives. 1
54 Wow! This is the most thought provoking survey that I’ve ever taken. Such interesting tasks. I really wrestled with the scenarios and comparing impact of each of my decisions. Bravo! Would love to know how you will be utilizing/applying the outcomes and what the outcomes are overall. 1
55 It was difficult to understand how answering some of those questions could be helpful. 1
56 This was a challenging survey to take. My 2yo had to be put in a medicated coma when she was 4mo old and a lot of these questions in the survey were asked of us from her medical provider. They are hard choices to make! Thankfully she’s 100% a-okay and crazy as ever. 1
57 This survey is unique, in a sense that, I have never encountered this kind of survey before. It might just be me not having children yet, but I didn’t understand the premise of the survey, really. Still, great survey, and hope I would take future ones like this even more. 1
58 There were times I would tussle with my thoughts as a father of four. But ultimately, God and I could carry that beautiful 10 year old child anywhere and bathe them forever. The pain and sadness is always going to be the first for me. I will carry the rest. God Bless 1
59 Good survey but very long for the compensation 1
60 The choices between children were largely 6 of 1, half a dozen of the other. All else equal, I prefer the option with less pain. This was an interesting survey as I have never done one quite like this. 1
61 you shouldn’t include Emotional issues when a child has a problem. its obvious that the child won’t be happy. 1
62 it was a bit confusing to be honest 1
63 Thank you for allowing me to contribute, I learned a few things that I didn’t expect, while participating. 1
64 I liked this survey where a person really looks at what would be important to them if various factors were presented to them and a sick child is in question. Oftentimes we don’t think about the what if because we have not experienced it, this survey could serve to open some eyes 1
65 It made me think 1
66 I think it would help the survey be more accurate if you gave the option of ‘single, never married’ and also the option of ‘no children living with you’. 1
67 it made me feel better that i told us that everyone lived when it came to picking a side or how to relieve pain and discomfort 1
68 I thought the instructions were good, and it was nice to have a warm-up exercise. Thank you. 1
69 its hard to answer especially when a child is involved 1
70 Very interesting survey, very touching to think about choices that parents have to make for their children with health issues 1
71 I picked the child in a coma since I think they would feel no pain or sadness during that week and not remember it. In the other task I tried to reduce severe pain or severe sadness first. I also felt that someone could help a child bathe and dress for 1 week without it upsetting the child as much as not being able to do usual tasks. 1
72 i very much enjoyed taking this survey. i hope that your research helps with child medical care. 1
73 Better descriptions of each task and an example section to help people understand what they are doing easier. The part of choosing which task to do was a bit confusing. 1
74 This was tough! But I can see why it’s important. Note that sometimes the survey would “hang” after I hit next, and I thought it wasn’t working. May want to add some visual cue indicating the survey is loading. 1
75 This was a very unique survey. I enjoyed it. I realized I made a mistake though & couldn’t go back. 1
76 This survey was easy to navigate and answer the questions and has very detailed explanations. 1
77 Interesting survey. I don’t have children so it was a bit challenging. I tried to pick the selections where the child was in the least amount of pain. 1
78 Sometimes it was confusing to follow the directions & choose one selection when I didn’t really feel that way. I had to make a choice. 1
79 some of the choices were very difficult to make 1
80 My son is disabled and has autism and honestly the hardest thing for me is watching him suffer or in pain and not being able to help him. 1
81 This was an interesting topic. It makes me wonder if comas are going to be more of an option 1
82 I thought it was somewhat difficult in task 1 to choose either a child living with discomfort or have them in a coma for a week. No one’s going to get options of choosing which burden a child has to bear and it’s difficult for me to get into the mindset of “I wish this child was in a coma for a week instead of them having to go through what they are now.” 1
83 Thank you! These tasks were confusing! 1
84 This is a very interesting survey and at times the choices were tough. Thank you for allowing me to participate. 1
85 I specifically told you that I have never had children. You proceeded to ask me about my children. Why? 1
86 It was mostly confusing or very tricky. 1
87 Regarding the children health problems I prefer the children to be physically and mentally healthy, but for me the first thing to do is to alleviate any physical pain first so they are not suffering as well as their mobility issues since they might be sad or worried precisely because they are not doing the usual or being themselves. Maybe after physically improving they might feel mentally better and sadness and unhappiness can always be addressed after they are feeling better. The survey was interesting and very different. Thank you. 1
88 It make me think a lot 1
89 It’s great to do all the offers to protect children 1
90 This was a very different and emotional survey, considering I have lost a child. 1
91 This survey was nicely built. 1
92 I think it may be wise to expand the political category. I’m further left than the typical democrat- more socialist, similar to Bernie. But there’s a huge range of political spectrum in the united states- you would likely get interesting information by adding a couple more options. Maybe an answer for an anarchist, communist, MAGA republican, fascist, so on. That may make this more politically oriented than intended, but I believe that there’s more than meets the eye about how people percieve this, and allowing more options for political self identification may reveal very interesting things. Thank you for the survey! 1
93 UI is nice 1
94 While I do not currently have children I do very much want a family of my own and in the most recent of my failed relationships we did try for a number of years to have children but we were unable to carry long enough to have even a premature birth. All of our attempts ended in a miscarriage unfortunately. I’m not sure if that is relevant but I wanted to include that bit of information to help protect the integrity of the study. This is subject that is very real and of great importance to me after all. 1
95 Thank You! I appreciate this survey telling me how many questions were involved! Loved it Thank you! 1
96 It was very interesting, and for that reason I liked it. 1
97 Being sick is not a good predicament. 1
98 First task could be more in depth but other then that, good survey! 1
99 Interesting survey 2
100 This was quite interesting, thank you 2
101 It was informative 2
102 was interesting 2
103 This was certainly an interesting survey. 2
104 nice survey 2
105 good job 2
106 this survey was just fine and I liked the layout and such 2
107 Very interesting topic 2
108 an interesting survey with a moral tone 2
109 this was an interesting survey. had no issues completing. 2
110 This was a very interesting survey . Thank you for the opportunity of completing it . 2
111 I thought the survey was fine as is. 2
112 I really enjoy your survey 2
113 Was a very fun and interesting survey to have been able to take part in. 2
114 Very interesting and totally different 2
115 Very interesting survey 2
116 i enjoyed sharing my opinions 2
117 Great survey ! 2
118 was good 2
119 it was very interesting 2
120 Good survey 2
121 very interesting survey. better than some I’ve done 2
122 It was nice to have different topics to discuss. 2
123 good survey. thanks 2
124 I really liked completing the survey since it was easy. 2
125 It was a good survey. 2
126 very good survey , made me think 2
127 an interesting survey 2
128 The survey was one of my favorites thank you so much for letting me participate 2
129 It was good to think about the health of the children. 2
130 great 2
131 That was a good survey. 2
132 thank you 2
133 very good survey thanks 2
134 I just want to say that this survey was well organized. I hope I can do one like this again soon. 2
135 I like this survey 2
136 I enjoyed this survey and thank you again 2
137 Good survey 2
138 i really liked doing the survey 2
139 very thought provoking 2
140 This was a very interesting survey . 2
141 Thank you very much. 2
142 was very interesting to complete and really enjoyed doing it 2
143 great idea ! 2
144 I enjoyed this survey. It was quite thought-provoking. 2
145 It was very interesting. 2
146 I do not see any improvements necessary on this survey. Thank you for allowing me to participate. Take care and stay well. 2
147 This was a very unique survey. 2
148 Thank you 2
149 I liked this survey. 2
150 I would absolutely love this survey very easy to understand 2
151 Easy to understand and complete 2
152 I’m glad i had the privilege of participating 2
153 It’s a good survey 2
154 very enoyable 2
155 I really liked this survey. It was different. 2
156 Survey was easy to answer and the topic was interesting. 2
157 i thoroughly enjoyed taking this survey! 2
158 great survey and fun 2
159 I love answering these kind of surveys 2
160 I really enjoyed this survey. 2
161 This was a different experience for me. I enjoyed taking it. 2
162 I liked this survey it was very interesting. 2
163 This was a very interesting and unique survey. 2
164 Survey was easy to understand and easy to answer 2
165 thanks 2
166 seemed better then last surv 2
167 The survey was good, there weren’t any issues. 2
168 great survey 2
169 This survey was very interesting and thought-provoking. Thank you 2
170 Good survey, but hard 2
171 Thanks 2
172 Very interesting survey never done one like this before 2
173 This was a very interesting and unique survey 2
174 Thank you for a different survey topic 2
175 This was interesting, but harder than I thought it would be. 2
176 Interesting study 2
177 Great survey 2
178 Great 2
179 hopefully will be a good survey 2
180 Interesting survey 2
181 This was a really good survey to participate in. 2
182 This was an interesting survey 2
183 This was one of the more interesting surveys I’ve participated in. Thank you 2
184 It was a different and interesting survey. 2
185 Very interesting survey. Unique decisions to be made. 2
186 The survey was easy to understand 2
187 this was my favourite survey so far 2
188 I didn’t have any problems with this survey! 2
189 very interesting 2
190 Set interesting and different survey. Made me really think. 2
191 thamk you 2
192 all good 2
193 Thanks 2
194 Thank You 2
195 enjoyable 2
196 interesting and thought provoking 2
197 well done 2
198 Very interesting and relevant with a topic concerning children health 2
199 The survey was great 2
200 This was an interesting survey and I enjoyed taking it 2
201 This was fun 2
202 Survey was easy to do. 2
203 fast and interesting survey 2
204 No comments. Survey was great. 2
205 Loved this survey! 2
206 excellent survey 2
207 It was a great and interesting survey to take. 2
208 noe that i can think of but thank you and keep up the great survey work 2
209 everything was very iconic 2
210 Great survey!! 2
211 Great survey. 2
212 Very good 2
213 Thank you for the opportunity 2
214 Great and unique survey! Thanks, folks. 2
215 i like this surveys very much 2
216 very good survey 2
217 None in general but thanks for the survey. 2
218 Great Survey 2
219 love the survey 2
220 Great survey 2
221 Strange Survey 3
222 this was a very strange survey 3
223 None 4
224 I don’t have any further comments. 4
225 Nothing 4
226 No nothing 4
227 none 4
228 No comment 4
229 n/a 4
230 It was hard to choose 4
231 n/a 4
232 none 4
233 i have no suggestions 4
234 No thank you 4
235 none 4
236 No 4
237 None at this time 4
238 N 4
239 N/A 4
240 No suggestions! 4
241 None at this time 4
242 NONE 4
243 none 4
244 nothing 4
245 None. 4
246 no comments 4
247 Hiiiii 4
248 none 4
249 none 4
250 Nothing in particular, thank you 4
251 NO COMMENTS TODAY 4
252 None 4
253 none 4
254 no comment 4
255 na 4
256 none 4
257 No comments. 4
258 No suggestions 4
259 Nothing comes to mind 4
260 none 4
261 N/A 4
262 None 4
263 None 4
264 No additional comments needed. 4
265 n/a 4
266 none 4
267 None 4
268 None 4
269 none 4