es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Qualtrics: Presentar de forma equitativa los elementos de un bucle entre los participantes.

Actualmente estoy trabajando en una encuesta de Qualtrics en la cual los encuestados deben evaluar imágenes en diferentes características.

Dado que son muchas imágenes (300), los participantes no deben tener que evaluar todas, sino que pueden elegir salirse una vez que hayan tenido suficiente. Utilicé esta solución (https://stackoverflow.com/questions/25766238/prematurely-exiting-a-loop-and-merge-block-in-qualtrics) para permitir que los participantes salgan del bucle y, posteriormente, del estudio.

Problema: Necesito un cierto número de evaluaciones para cada imagen, digamos 30.

¿Es posible poner un límite en cuántas veces se presenta una imagen en un bucle, después de lo cual esta imagen en particular queda excluida para los participantes posteriores? Alternativamente, también podría ser suficiente tener la opción “presentar de manera equitativa” para los elementos del bucle, pero no puedo encontrarla.

¿Hay alguna forma de usar JavaScript para lograr esto? ¿O hay una opción en Qualtrics que pueda hacer el truco?

¡Gracias de antemano!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en JavaScript y Qualtrics, puedes lograr el resultado deseado implementando un código personalizado de JavaScript. Aquí están los pasos:

    1. Asigna un identificador único a cada imagen, por ejemplo, “pic1”, “pic2”, etc.
    2. Declara una variable para cada imagen para llevar un registro del número de veces que ha sido calificada, por ejemplo, “pic1_count”, “pic2_count”, etc. Establece el valor inicial de cada variable en 0.

    3. Dentro del bucle donde los participantes califican las imágenes, agrega un código de JavaScript que incremente el conteo de la imagen que se está calificando. Por ejemplo, si la imagen que se está calificando tiene el identificador “pic1”, agrega el siguiente código:

    Qualtrics.SurveyEngine.addOnload(function() {
      var count = parseInt("${e://Field/pic1_count}");
      count++;
      Qualtrics.SurveyEngine.setEmbeddedData("pic1_count", count.toString());
    });
    

    Explicación: El código obtiene el valor actual del conteo de un campo de datos incrustado (que debes haber creado previamente). Luego incrementa la variable de conteo y establece el nuevo valor en el campo de datos incrustados.

    1. Después del bucle, agrega otro código de JavaScript que verifique si el conteo de cada imagen ha alcanzado el límite de 30. Si es así, establece una pregunta de “saltar” en Qualtrics que salte las preguntas restantes para esa imagen en particular. Por ejemplo:
    Qualtrics.SurveyEngine.addOnReady(function() {
      if (parseInt("${e://Field/pic1_count}") >= 30) {
        this.questionclick(jQuery("#" + this.questionId + " .ChoiceStructure tr").last().find("input").val()) // saltar la pregunta
      }
    });
    

    Explicación: El código verifica si el conteo de “pic1” ha alcanzado el límite de 30. Si es así, busca la última opción de elección en la pregunta (que debería ser la opción de “salida”) y simula un clic en ella, saltando efectivamente las preguntas restantes para esa imagen en particular.

    1. Repite el paso 4 para cada imagen, sustituyendo el identificador único y los nombres de las variables de conteo adecuadamente.

    Con esta solución, cada imagen se presentará un máximo de 30 veces y los participantes posteriores no calificarán esa imagen nuevamente. Ten en cuenta que esta solución asume que tienes un número fijo de imágenes y un número objetivo fijo de calificaciones por imagen. Si estas suposiciones no se cumplen, es posible que la solución deba modificarse en consecuencia.

Comments are closed.