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

0 votes

Hi,

in meinem Fragebogen werden 60 Textfeldern (NA01 bis NA60) gemischt und in zufälliger Reihenfolge angezeigt. Ist es möglich, dass später bei den erhobenen Daten nicht die Namen der Textfelder (NA01 bis NA60) sondern deren Inhalt in der internen Variable (IV01_01 bis IV01_60) gespeichert wird?

Mein Code sieht derzeit so aus:

if (!isset($namen)) {
  $namen = array(
'NA01', 'NA02', 'NA03', 'NA04', 'NA05', 'NA06', 'NA07', 'NA08', 'NA09', 'NA10', 'NA11', 'NA12', 'NA13', 'NA14', 'NA15', 'NA16', 'NA17', 'NA18', 'NA19', 'NA20', 'NA21', 'NA22', 'NA23', 'NA24', 'NA25', 'NA26', 'NA27', 'NA28', 'NA29', 'NA30', 'NA31', 'NA32', 'NA33', 'NA34', 'NA35', 'NA36', 'NA37', 'NA38', 'NA39', 'NA40', 'NA41', 'NA42', 'NA43', 'NA44', 'NA45', 'NA46', 'NA47', 'NA48', 'NA49', 'NA50', 'NA51', 'NA52', 'NA53', 'NA54', 'NA55', 'NA56', 'NA57', 'NA58', 'NA59', 'NA60'
  );
  shuffle($namen);
  registerVariable('namen');
}
put('IV01_01', $namen[0]);
put('IV01_02', $namen[1]);
usw... bis
put('IV01_60', $namen[59]);

Liebe Grüße und vielen Dank!

in SoSci Survey (dt.) by s080205 (240 points)

1 Answer

0 votes

Ich bin nicht so ganz sicher, worauf Sie mit dem Code hinaus wollen... Vermutlich möchten Sie zu jedem Namen (o.ä.) einen Text oder eine Bewertung abfragen? Dann stellen Sie bitte auf alle Fälle sicher, dass Sie den Text zu einem bestimmten Namen immer in dieselbe Variable speichern - sonst wird die Auswertung zu Qual.

Aber zur Frage, wie Sie die Reihenfolge speichern - erstmal eine Gegenfrage: Was machen Sie in der Auswertung denn damit? Brauchen Sie wirklich die Namen im Datensatz (dann ist Ihr Code nicht ganz falsch, obgleich unnötig lang) oder brauchen Sie die Ränge/Positionen, wann ein bestimmter Name angezeigt wurde?

Beispiel-Codes zum Speichern von (1) den Inhalten oder (2) den Rängen finden Sie in der Anleitung zur Funktion put().

Ihr Code ab put() in weniger Zeilen:

for ($i=0; $i<count($namen); $i++) {
  put(id('IV', $i+1), $namen[$i]);
}

Falls Sie noch eine andere Frage dazu haben oder wenn es nicht funktioniert, würde ich Sie um eine genauere Schilderung der Problematik bitten. Danke.

by SoSci Survey (68.3k points)
Zur genaueren Erklärung des Hintergrunds: die Versuchspersonen bekommen in jedem Trial die Gewinnchance eines anderen Teilnehmers vorgesetzt. Diese setzt sich aus einem Startwert (3%, 5% oder 7%) und einem zweiten „lotto“ wert zwischen -1% und 1% (in 0.01%-Schritten) zusammen.
Außerdem haben die anderen Teilnehmer immer einen Namencode, damit es glaubhafter ist, dass es tatsächlich andere Menschen sind. Diese Namencodes habe ich allerdings schon vorher generiert und dann werden die nur in zufälliger Reihenfolge angezeigt.
Also noch mal zur Übersicht:
1. Namencodes in NA01 bis NA60 hinterlegt und zufällig angezeigt durch eine shuffle() Funktion. Abgespeichert in IV01_01 bis IV01_60.
2. Startprozentwerte in PR01 bis PR60 hinterlegt (20 mal 3%, 20 mal 5% und 20 mal 7%). In zufälliger Reihenfolge angezeigt durch eine shuffle() Funktion und in IV02_01 bis IV02_60 abgespeichert.
3. Lotterie-Ergebnise zwischen -1,00% und +1,00% durch zwei Zufallsgeneratoren (einen für positive und einen für negative Zahlen) generiert und angezeigt. Abgespeichert werden die wieder in einer internen Variable (IV03_01 bis IV03_60)
4. Dann hat die Versuchsperson die Möglichkeit f mit einem Schieberegler zwischen -1% und +1% noch mal ab zu ziehen oder hinzu zu geben. Dies wird dann im Schieberegler AB01 bis AB60 gespeichert.

Ihr Hinweis zur Speicherung ist  damit sehr sinnvoll und relevant. Daher wollte ich zumindest die Namencodes und die Startprozentwerte als Text darstellen lassen, damit man nich alles nachher wieder händisch umtransformierten muss. Allerdings finde ich keinen Ansatz dafür in der Anleitung für put().
Eine besserer Lösung für alles ist mir bisher nicht eingefallen und bin um jeden Rat/Vorschlag sehr dankbar.

Liebe Grüße!
Wie werden Sie die Daten denn auswerten? Sie haben ja pro Eingabe 2 Werte (Prozentwert und Name) - das klingt nicht nach einer trivialen Datenstruktur.

Womöglich hätten Sie jede Eingabe lieber in einer eigenen Datenzeile? Dann wäre das hier für SIe interessant: https://www.soscisurvey.de/help/doku.php/de:create:multilevel
...