Best-worse question type #127
Replies: 4 comments 11 replies
-
Sorry there's a lot of info in the above! |
Beta Was this translation helpful? Give feedback.
-
I've had a similar issue with trying to come up with a way to make a best-worst question. What you've tried already is a step in the right direction and all the things I was going to suggest. As for the restriction of not allowing the user to choose the same value for both best and worst, I'm not sure if that is possible as of now. We'd have to really think hard about how to implement this. But also, how badly do you need that restriction? In my opinion, if I got responses where these were the same, that's an indicator that this person isn't paying attention or isn't understanding the question, so I would just filter them out. You could have some skip logic that just kicks people out if the answers are the same, that's one thing to consider. But otherwise I might not actually try to restrict this because it could actually be useful for identifying bad responses. |
Beta Was this translation helpful? Give feedback.
-
Quick update - I changed the title of this issue because it has become more about the best-worst type question than the original question (which was about posting a warning for an invalid response...we're working on that anyway). I had an idea though this morning that I think results in a better UI for this type of question. It renders like this: I'm leveraging the CSS grid layout feature of Quarto to put the questions side-by-side, and I'm putting the general question label in the regular markdown and setting the question labels as Best and Worst. Here's how I set this up in the survey.qmd file: ::: {#page1 .sd-page}
<center>
Which do you think is **best** and **worst** from this list?
</center>
<br>
::: {.grid}
::: {.g-col-6}
```{r}
sd_question(
id = "pet_best",
type = "mc_buttons",
label = "**Best**",
option = c(
"Dogs" = "dogs",
"Cats" = "cats",
"Fish" = "fish",
"Birds" = "birds"
),
direction = 'vertical'
)
```
:::
::: {.g-col-6}
```{r}
sd_question(
id = "pet_worst",
type = "mc_buttons",
label = "**Worst**",
option = c(
"Dogs" = "dogs",
"Cats" = "cats",
"Fish" = "fish",
"Birds" = "birds"
),
direction = 'vertical'
)
```
:::
:::
```{r}
sd_next()
```
::: |
Beta Was this translation helpful? Give feedback.
-
Just added a performance page to give some general advice on setting up your app to run well (using exactly some of these screenshots). |
Beta Was this translation helpful? Give feedback.
-
I am trying to think of a less computationally burdensome method of preventing individuals from selecting the same attribute-level combination as best and worst in two different questions. Currently I have a number of
show_if
conditionals which removes the best option from the options shown in the worst question. While this looks good and prevents irrational responses, it probably is causing the survey to slow down when handling multiple concurrent sessions.My question is basically, would having a condition (like below) on every question be less computationally burdensome than having many show_if conditions?
Edit:
Could the newly developed cbc matrix format be tweaked to include radiobuttons in the matrix to select best and worst options as is shown here in this image below? This would be the
rows
in the middle and the options either side. Presumably the radiobuttons prevent multiple responses anyway so best and worst for the same attribute-level combination would not be possible.I suspect this would be the least computationally demanding option.
Update:
This is where I have got to on the new matrix question format.
There are a few issues:
Update2:
When transposed this solves issue 2 but doesn't allow for the space to give the full description of the health state (see below screenshot).
Also, this still requires the code which shows a warning if best and worst are the same. What I am ideally looking for is a variation on the above screenshot where the matrix has been transposed but with the best and worst columns either side of the row label.
Beta Was this translation helpful? Give feedback.
All reactions