söndag 24 oktober 2021

Frekvenssortering och datum

 Hej,

Idag blir det svar på en datumfråga och ett tips hur du sorterar upp en frekvenstabell (och graf)  i tex fallande frekvensordning. 


 Frågan den här veckan var hur man får till ett datum när datumet ligger uppdelat som två textsträngar  (dvs STRING) den ena som datum och den andra som klockslag. 

Det här är pyssel och knåp, så det är bättre att jag visar en av mina inspelningar.

Längst ned har jag lagt en en 15 minuters inspelning. Det handlar om att plocka ut delar ur två textsträngar, som ligger i 2 kolumner.... 


....och sen skapa en enda datumvariabel .



Ni kommer se hur jag måste splitta upp alla tidsdelar i 5 nya numeriska kolumner, som sen kommer föras ihop till ett datum. 

Men i den här inspelningen får ni inledningsvis se ett annat smart trix, hur man sorterar om en frekvenstabell i storleksordning tex att högst frekvens kommer högst upp i tabellen och sen fallande ordning. 



Filmen visas nedan (tar ca 20 minuter)

Efter tiden 5:34 så börjar datumhanteringen om ni inte är intresserade av frekvenssortering i tabell och graf.

Länk till youtube-inspelningen

Ha en bra vecka! /Gunilla

onsdag 13 oktober 2021

Återanvända en selektering via filtervariabel

 Fråga: Jag behöver göra tabeller varje dag från en fil, men måste selektera bort alla som saknar region och de som tillhör Stockholms-regionen. Det blir jobbigt att göra den här selekteringen varje gång, hur förenklar jag det?

Svar: Efter att du gjort första selekteringskommandot så skapas en filtervariabel. Den ska du döpa om och sen kan du återanvända den. Här är de tre stegen jag beskriver:

 Steg 1 - Selektering

Steg 2 - Döp om Filtervariaben

Steg 3 - Selektera imorgon genom den nya filtervariabeon


Steg 1 - Selektering

Så här ser det ut i filen, jag vill inte ha med Stockholm och de blanka regionerna.


Kommando: Data - Select Cases

Skriv in så här i högra rutan (där NE betyder Not Equal):


Då kommer selekteringen göras så här, dvs de 10 som inte är Stockholm och blanka blir kvar: 


Så om jag gör statistik så blir det bara dessa 10 rader som tas med:


Steg 2 - Döp om Filtervariaben



Här döpte jag om från Filter$ till Regionselektering.

Steg 3 - Selektera imorgon genom den nya filtervariabeln


Notera att den nya filtervariabeln (dvs Regionselektering) består av koderna 0 och 1 under etiketterna ("Not selected" respektive "Selected"). Säg att det nu är dagen efter och du öppnar filen igen och vill göra en selektering. 


Gör nu selekteringen på nytt, först genom Kommando: Data - Select Cases

Men sen lägger du nya filtervariabeln direkt under "Use filter variable" (se bild):


Lycka till!






torsdag 7 oktober 2021

Räkna ut differens mellan rader

 Att räkna ut differensen mellan kolumner är enkelt i SPSS, men hur gör man när man räknar ut differensen mellan rader?

Den här frågan kom till mig förra veckan när jag var på semester:

Finns det något enkelt sätt att beräkna ”Dagar” dvs dagar mellan två dagar men i olika rader.. Dvs dagar mellan kundens ordrar?




Så hur många dagar är det mellan kund 1 och 2 dvs mellan 25 och 27 augusti? Osv för varje tillfälle. 

Lösning
Här ska vi använda funktionen LAG och sen ett par Datum-kommandon.

1. Skapa en till datumkolumn bredvid som är "laggat" med 1 steg genom att göra kommandot:
Transform - Compute

Sen fyller du i som nedan, jag kallade den nya variabeln för "lagga".
Din befintliga variabel ska du stoppa in i parentesen i själva formeln (här : "Orderdatum")


2. Då får du en ny variabel som egentligen är exakt detsamma som orderdatum men som saknar ett begripligt datum-format (du ser antal sekunder!):


3. Så därför går du in i "Variable View" fliken i datafönstret och väljer datumformat från "Variable Type":


4. Då ser du ett begripligt datumformat, och förstår vad jag menar : vi har laggat en kolumn med ett steg ned. 


5. Sen ska vi räkna ut tiden mellan de 2 datumkolumnerna och då använder du datumfunktionen som finns under menyvalet: Tranform


6. Du stegar dig igenom en sk "Wizard" där du klickar "next" mellan de olika stegen.

Första steget är att bocka i "Calculate with dates".

Nästa steg väljer du "Calculate the number of time units..."

Nästa steg väljer du in variablerna och vilken tidsenhet (här dagar):


Nästa steg : Hitta på ett nytt variabel namn under "Result variable" jag skrev in "Tidsdifferens" som variabelnamn.

Finish.

7. Då har du en ny variabel som mäter tiden i antal dagar mellan varje rad, så det är 2 dagar mellan order 1 och 2 (27 aug- 25 aug) det är 8 dagar mellan order 2 och 3 dvs mellan 4 sep och 27 augusti... osv



Var det svårt att hänga med?

Titta gärna på andra blogginlägg eller varför inte hoppa på en grundkurs i SPSS och statistik via Statistikakademin?

Ha en skön helg!

Gunilla


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...