torsdag 1 oktober 2020

2 okt 2020 - Gruppera datumintervall

 Det här med datum är verkligen ett kapitel för sig själv...SPSS använder sig av antal sekunder efter 14 okt 1582, medan andra programvaror använder andra startpunkter.

Frågan jag fick var:

Hur skapar jag grupperingar av en datumvariabel, jag vill

skapa koden 1 för kvartal 1 koden 2 för kvartal 2 osv och kalla den nya variabeln för grupp. Har försökt med recode into different variable men det blir bara felmeddelande.



Svar: Det som gör att man inte bara kan köra omkodnings-kommandot rakt av är för att Datumet bara är ett skal (etikett) och egentligen visar den ett numeriskt tal nämligen sekunder efter 14 okt 1582. 

Men det finns många olika sätt att gruppera ett datum, så jag kallar dem för alternativ 1, alternativ 2 osv . Min varmaste rekommendation är att spara som syntax, tipsar om syntaxkursen - en introduktion på 1 dag via Statistikakademin.


 Alternativ 1 - då du har ett specifikt datumintervall

Kommando : Transform – Compute

fyll i:



Klicka på knappen if:

Fyll i följande: 



Klicka på ”Continue” och sen på ”OK”.

Resultat i filen:


Fortsätt nu att göra samma sak för kvartal 2 och ge samma variabelnamn ”grupp”. Du kommer få en varning att du kommer förstöra variabeln grupp men det är ok eftersom villkoren inne i ”if” inte överlappar varandra.

Så då blir det så här:


Och sen klicka på if-knappen


Klicka ”Continue” och ”OK”



Och sen upprepa för grupp 3, kvartal 3.

Vill du hellre använda syntax, klickar du på knappen Paste istället för OK inne i Compute-kommandot.


Då kan du ha kontroll på det du gör, exempelvis klippa och klistra den inklistrade strängen ovan och återanvända detta kommando i resterande grupper (se nedan).



Resultat




 Alternativ 2 - då datumintervallet är ett kvartal

Då intervallen är jämna kvartal eller månader så kan man utnyttja färdiga datumfunktioner i SPSS, och här är det QUARTER (dvs kvartal) jag visar.

Det blir superenkelt att skapa gruppvariabeln KVARTAL:



 

Alternativ 3 - använd RANGE för datumintervallet 

Här är ett ännu bättre tips från Robert (jämfört med alternativ 1)  hur man enkelt kan använda funktionen RANGE i kombination med datumintervall.

I det här exemplet skapas gruppvariabeln Period och får koden 1 om datumet ligger i intervallet 1 jan 2016 till och med sista mars 2016.

IF RANGE(Datum, DATE.DMY(1,1,2016), DATE.DMY(1,4,2016)) period=1

 




Inga kommentarer:

Skicka en kommentar

Manualer att ladda ner

SPSS manualer går att ladda ner som PDF-filer.  Länken : https://www.ibm.com/support/pages/ibm-spss-statistics-29-documentation#en Vill du h...