0 votes
in SoSci Survey (dt.) by s174924 (120 points)

Hallo,
Ich verwende eine einpolige positive 6-stufige Skala und will damit ein Screening direkt in Soscisurvey durchführen.
Die Skala hat die Kennung WH01 und die Interne Variable habe ich WH02 benannt.


Sosci kodiert es so:
1 = die ganze Zeit
2 = meistens
3 = Etwas mehr als die Hälfte der Zeit
4 = etwas weniger als die Hälfte der Zeit
5 = ab und zu
6 = zu keinem Zeitpunkt


Ich bräuchte:
5 = die ganze Zeit
4 = meistens
3 = Etwas mehr als die Hälfte der Zeit
2 = etwas weniger als die Hälfte der Zeit
1 = ab und zu
0 = zu keinem Zeitpunkt


Ich habe mir bereits die anderen Fragen zu diesem Thema angeschaut und es mittels Interner Variable und Umcodieren versucht, dies hat leider nicht funktioniert und ich bekomme immer Fehlmeldungen angezeigt.
Vielen Dank und schöne Ostern,
Liebe Grüße

by SoSci Survey (308k points)
Bitte posten Sie den PHP-Code, soweit Sie im Moment sind, und die Fehlermeldung, die Ihnen angezeigt wird.
by s174924 (120 points)
Ich habe es einmal über put ( ) probiert:
$items = getItems('WHO1');
foreach ($items as $item) {
  $original = value(id('WHO1', $item));
  if ($original = 1) {
    put(id('WHO2', $item), $original 5);
  } and
  if ($original = 2){
  put(id('WHO2', $item), $original 4);
}
  and
  if ($original = 3){
  put(id('WHO2', $item), $original 3);
  } and
  if ($original = 4){
  put(id('WHO2', $item), $original 2);
}
  and
  if ($original = 5){
  put(id('WHO2', $item), $original 1);
}
  and
  if ($original = 6){
  put(id('WHO2', $item), $original 0);}
}

und der zweite Versuch war über invertieren und immer -1 abziehen, dazu finde ich leider den Code nicht mehr.
Danke

1 Answer

0 votes
by SoSci Survey (308k points)

und der zweite Versuch war über invertieren und immer -1 abziehen, dazu finde ich leider den Code nicht mehr.

Diese Strategie scheint mir deutlich effizienter.

Kurz vielleicht vorweg, weshalb der Code oben nicht funktioniert: Das "and" wird hier falsch eingesetzt bzw. es müsste einfach raus. Ebenfalls steht da ein $originalzu viel. Korrekt wäre also

...
if ($original = 1) {
   put(id('WHO2', $item), 5);
}
if ($original = 2) {
  put(id('WHO2', $item), 4);
}
...

Aber jetzt nochmal zur m.E. effizienteren Lösung:

foreach ($items as $item) {
  $original = value(id('WHO1', $item));
  if ($original > 0) {
    put(id('WHO2', $item), -1);
  } else {
    put(id('WHO2', $item), 6- $original);
  }
}

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

...