Visar inlägg med etikett bortfall. Visa alla inlägg
Visar inlägg med etikett bortfall. Visa alla inlägg

söndag 19 december 2021

Leta antal missing i många variabler

 Hej, jag fick en fråga i samband med en syntax-kurs jag höll och efter att ha kollat i compute-funktionerna lärde jag mig ytterligare en ny sak - efter 30 års användning av ett program så är man aldrig fullärd.

Frågan handlade om hur man räknar antal variabler som har ett bortfall, där bortfallen kodas som  666,777,888,999 eller inget alls (dvs system missing). Eftersom användaren hade över 700 variabler vill man att det ska vara enkelt att lösa.


1. Se först till att dessa sifferkoder verkligen UPPFATTAS som missing value (bortfall) i SPSS, t ex från Variable View-fliken i datafönstret.
Eftersom max  3 koder kan defineras upp enskilt väljer man istället alternativet "Range" och där tog jag 666-999 för att täcka koderna 666, 777, 888, 999.


Sen kopierade jag bara av dessa till resterande variabler så här. '


För er som gått min syntaxkurs på Statistikakademin har ni lärt er hur man klistra in egenskaper som missing, labels osv. (Titta på mina special-filmer ni fick med till kursen). 
Här är syntaxen för att istället göra ovanstående kommando på super-smidigt sätt:

MISSING VALUES att1grp TO att4grp (666 TO 999). 

EXECUTE.


2. Sen kommer själva räkne-biten:

Välj kommandot TRANSFORM - COMPUTE

Och se till att alla dina variabler ligger i rad efter varandra om du har så många som flera 100 variabler!

Då kan du nämligen utnyttja "TO" mitt i kommandot dvs i mitt lilla exempel från variabeln som heter att1grp TILL variabeln att4grp 

Så kommer alla variablerna att1grp, att2grp, att3grp, att4grp beräknas (observera att de kan ha valfria variabelnamn men måste ligga efter varandra i filen).



Så här ser den nya "räkne-variabeln" ut som räknar hur många variabler av de du angett i intervallet, som innehåller bortfall (antingen giltigt bortfall med kodning eller systembortfall dvs inget inmatat).


God Jul och Gott Nytt År!
Hälsn Gunilla



torsdag 11 mars 2021

12 mars - skapa en ålder av 2 inmatade åldrar

 Veckans fråga handlar om hur man skapar en åldersvariabel från ett dataset som matats in på det här sättet:


Användaren vill att nya åldersvariabeln ska fyllas i med den ålder som finns i någon av de 2 ålderskolumnerna.

Men om det finns två åldrar ifyllda, ska den åldern från journalen fyllas i dvs variabeln ålder_journal fyllas i (det är den korrekta). Så för individ 8 och 9 vill vi ha åldern 27 och 41 ifylld i den nya variabeln.

Vi kommer göra kommandot Compute TVÅ gånger.

Kommando:

Transform - Compute

Skriv in det nya variabelnamnet, här Final_ålder: och lägg in mors_ålder i andra boxen.



Längst ner till vänster klickar du på if-knapen: 

Och sen klickar du på "include if cases satisfies condition:" och skriver in att mors_ålder ska vara större än 0 dvs ha ett giltigt värde. (Då bortser SPSS från bortfallet).



Resultatet ser ut så här: Vi har fått in mors_ålder i nya variabeln, men om du ser de röda markeringarna så har vi fått in åldern 28 och 40 fast vi velat haft mors_ålder_journal istället (27 och 41). Men det kommer strax lösa sig!


Vi ska nämligen göra samma kommando igen och då kommer det förra skrivas över. Så upprepa kommandot igen:

Transform - Compute

Fyll nu i mors_ålder_journal istället på Numeric Expression- rutan.


Klicka på If knappen igen: 
Men nu ändrar du till mors_ålder_journal > 0 istället.



Du kommer få upp en varning att SPSS kommer ersätta det förra kommandot, men du klickar på OK. Tack vare if-satserna så kommer rätt delar att ersättas.



Eftersom mors_ålder_journal var den sista kolumnen vi hämtade ålder från, så löser sig individ 8 och 9 automatiskt - precis som vi ville. Det är åldern från journalen som ska vara gällande om det finns 2 åldrar angivna.


Det var dagens svar på en fråga.

Trevlig helg!

Gunilla




Kan du inte mata in MINUS-tal i dialogboxarna?

Har du också varit med om att du inte kan mata in minustal inne i dialogboxarna i SPSS Statistics? Till exempel i RECODE-kommandot. När jag ...