0 votes
in SoSci Survey (English) by s275472 (150 points)

Hello, I have 120 summaries (text document), and for each participant I want he/she to see one summary and answer questions, and then see another summary and answer questions, repeat it four times (4 rounds). How can I randomize the summaries so the participant will see one for each round and 4 rounds? Moreover, ensure that the 4 rounds the summary showed are not the same.

1 Answer

+1 vote
by SoSci Survey (327k points)

Given the large number of texts, I recommend to store them in the database for contents. This will include giving each text a unique ID.

Put these IDs in a random generator, and tell it to draw 4 codes per interview.

Finally, use a bit PHP code to display the 4 texts drawn by the random generator. Depending on how you wnat to analyze the data, you may consider a multi level structure for presenting the 4 texts.

by s275472 (150 points)
Thanks very much for the reply.
However, when I try to upload the CSV. in the database, I have an error:Error: The file has not been uploaded or the upload was interrupted. What I did is just choose file -> OK -> continue.
by SoSci Survey (327k points)
How big is your CSV file? Does this error repeat, if you tried it again? Does the error also occur in a different browser? Are you working on www.soscisurvey.de, or on a different server?
by s275472 (150 points)
Thanks very much. The problem has been solved. I have one thing that want to be confirmed. I store 120 texts in the database, and I create a random urn, and internal variables.  For each round, I draw one text using the following PHP.
urnDraw('article', 'IV01');//first internal variable
$key = 'a'.value('IV01_01');  // write an "a" before the number
$content = dbGet($key);
 
html('
  <h2>'.$content[0].'</h2>
  <div>'.$content[1].'</div>
');
For the second round, I use
urnDraw('article', 'IV02');//second internal variable
$key = 'a'.value('IV02_01');  
$content = dbGet($key);
 
html('
  <h2>'.$content[0].'</h2>
  <div>'.$content[1].'</div>
');
so on and so forth. Is this correct for drawing without replacement? I don't want the participants see the same text.
by SoSci Survey (327k points)
I woudl recommend using a random generator (that draws all articles for one interview at once) instead of an urn. The random generator make sure that you do not draw the same text multiple times, even is a lot of people do the questionnaire at the same time. The urn won't.
by s275472 (150 points)
I tried with random generator. However, I don't know how to link the data that I import into database for content and the random generator (https://www.soscisurvey.de/help/doku.php/en:create:randomization-einfaktoriell). I want to draw one text, ask some questions, and then draw another text, and ask some questions. Could you provide me with the instruction webpage?
by SoSci Survey (327k points)
Start with putting your keys from the database for contents in the random generator. And tell it to draw 3 (or as many as you need) codes per interview.

Then try this:

$key = value('RG01x1', 'label');
$content = dbGet($key);
by s275472 (150 points)
Sorry, the text doesn't show up. I use:
$key = 'a'.value('R101x01');
$content = dbGet($key);
For each text, it has key a1, a2, a3,....
In random generator, Codes (contents):1 = a1
2 = a2
3 = a3
4 = a4
I try to draw two texts and want to show them in different pages.
[Information]    Interview started (new case no. 154)
[Information]    Questionnaire Survey1 from project test401998 will be used
[Processing]    Create page 8 in questionnaire Survey1
[Content]    Create question R101
[Information]    The random generator R101 drew these codes: 2, 3
[Information]    value("R101x01") = 2
[Information]    No visible content on this page, continue with page
[Processing]    Create the questionnaire's last page
by SoSci Survey (327k points)
> Sorry, the text doesn't show up. I use:

Yes, there is no code in my code example that would show any text ;)

> [Information]    The random generator R101 drew these codes: 2, 3

Fine, that looks good. Now...

$key = value('R101x01', 'label');
$content = dbGet($key);

And to show the text with this code:

html('<div>'.$content.'</div>');

for example
by s275472 (150 points)
Thanks very much. Now it works. However, I still have questions about the random generator here. I have 120 documents in total, and each participant will see two of them randomly and in a sequence, and these two documents are different. But in total I only have 120 documents, does that mean only 60 participants are allowed? Because the random generator draws 2 documents each time.
by SoSci Survey (327k points)
> does that mean only 60 participants are allowed?

When each document has been shown, the random generator will start over gain.

Check for drop-outs and invalid questionnaires from time to time, and eventually adjust the random generator to avoid that you're missing some documents in the end: https://www.soscisurvey.de/help/doku.php/en:create:questions:random#readjust_drawings

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...