(如何)我可以告诉我的 JavaScript 将 variable/column 附加到数据 Qualtrics 导出?
(how) can I tell my JavaScript to append a variable/column to the data Qualtrics exports?
我在 Qualtrics 中实现了一个任务,随机选择 0 到 3 之间的一个数字,然后选择一个对应的词库从中抽取 5 个词。不过,为了能够分析这些数据,我需要知道向每个受访者提供了哪 5 个词(或至少是从中抽样的词库的索引号或名称)。有没有办法在JavaScript内实现记录这些信息?理想情况下,当我使用 Qualtrics 的本机“导出”选项时,这些信息会显示出来,但如果我必须以某种方式用这些处理数据创建第二个电子表格,那也能正常工作。
Qualtrics.SurveyEngine.addOnload(function()
{
// first, create four arrays for the four word pools used in task
var wordpool1 = []
var wordpool2 = []
var wordpool3 = []
var wordpool4 = []
// assemble word list arrays into one array, with index 0-3
let masterwordlist = [wordpool1, wordpool2, wordpool3, wordpool4]
// function that randomly chooses an integer between x and y
function randomInteger(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
// function that shuffles (randomizes) a word list array (Fisher-Yates shuffle )
function shuffle(target){
for (var i = target.length - 1; i > 0; i--){
var j = Math.floor(Math.random() * (i + 1));
var temp = target[i];
target[i] = target[j];
target[j] = temp;
}
return target;
}
// function that chooses 5 words from a shuffled word list array, returns those 5 words as array
function pickWords(target) {
var randomwords = shuffle(target)
return randomwords.slice(0, 5);
}
// top-level function
function genWords(masterlist){
var x = randomInteger(0, 3)
return pickWords(masterlist[x])
}
// actually running the function
randomwords = genWords(masterwordlist)
// save final output as embedded qualtrics data
Qualtrics.SurveyEngine.setEmbeddedData("randomwords", randomwords);
有没有一种方法可以让我记录此代码(在 Qualtrics 或其他方式中)var x 或 var randomwords 所采用的值?
编辑:我在这里找到了另一个可能相关的答案。不过,根据这个答案,我似乎拥有记录变量选择所需的所有代码;我还需要在调查流程中设置嵌入式数据吗?
看这里:
是的,您需要在调查流程中定义嵌入数据字段randomwords。
我在 Qualtrics 中实现了一个任务,随机选择 0 到 3 之间的一个数字,然后选择一个对应的词库从中抽取 5 个词。不过,为了能够分析这些数据,我需要知道向每个受访者提供了哪 5 个词(或至少是从中抽样的词库的索引号或名称)。有没有办法在JavaScript内实现记录这些信息?理想情况下,当我使用 Qualtrics 的本机“导出”选项时,这些信息会显示出来,但如果我必须以某种方式用这些处理数据创建第二个电子表格,那也能正常工作。
Qualtrics.SurveyEngine.addOnload(function()
{
// first, create four arrays for the four word pools used in task
var wordpool1 = []
var wordpool2 = []
var wordpool3 = []
var wordpool4 = []
// assemble word list arrays into one array, with index 0-3
let masterwordlist = [wordpool1, wordpool2, wordpool3, wordpool4]
// function that randomly chooses an integer between x and y
function randomInteger(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
// function that shuffles (randomizes) a word list array (Fisher-Yates shuffle )
function shuffle(target){
for (var i = target.length - 1; i > 0; i--){
var j = Math.floor(Math.random() * (i + 1));
var temp = target[i];
target[i] = target[j];
target[j] = temp;
}
return target;
}
// function that chooses 5 words from a shuffled word list array, returns those 5 words as array
function pickWords(target) {
var randomwords = shuffle(target)
return randomwords.slice(0, 5);
}
// top-level function
function genWords(masterlist){
var x = randomInteger(0, 3)
return pickWords(masterlist[x])
}
// actually running the function
randomwords = genWords(masterwordlist)
// save final output as embedded qualtrics data
Qualtrics.SurveyEngine.setEmbeddedData("randomwords", randomwords);
有没有一种方法可以让我记录此代码(在 Qualtrics 或其他方式中)var x 或 var randomwords 所采用的值?
编辑:我在这里找到了另一个可能相关的答案。不过,根据这个答案,我似乎拥有记录变量选择所需的所有代码;我还需要在调查流程中设置嵌入式数据吗?
看这里:
是的,您需要在调查流程中定义嵌入数据字段randomwords。