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

torsdag 17 mars 2022

Koda om 5 kategorier till 3 st i SPSS

 Hej,

Jag är just nu inne i ett data-preparerings-arbete från en enkät. Då slog det mig att jag vill dela med mig av det som är absolut vanligast efter att man samlat in en enkät och ska bearbeta den innan själva analysen.

Det är att koda om enkätfrågor som har 5 alternativ eller kategorier till bara 3 st kategorier (eller 2 kategorier är också vanligt). 



Anledningen till att man vill skapa färre kategorier är om man ska sammanställa enkätsvaren i en tabell.

Ibland gör jag bara 2 grupper (0/1 kodat), eftersom då kan man välja om man vill räkna medelvärde (detsamma som procentandel 1:or) eller frekvensanalys. 

Här är den korta filmen jag gjort: 

Film: Koda om 5 kategorier till 3 st

I sutet av filmen får ni som vill jobba lite effektivare och som jobbat med syntax, se hur man kan enkelt kan spara programkod och jobba vidare i den. Det här är något man även får lära sig på syntaxkursen jag håller i. 


Lycka till!

Gunilla

torsdag 25 mars 2021

26 mars - byta ut konstiga tecken med syntax

Har det hänt att ni fått en datafil som innehåller en massa märkliga tecken i text-variablerna? 

Det kan hända om man har fått filen från en annan databas där SPSS och databasen inte förstår varandras språk riktigt. 

Här är ett exempel hur det kan se ut:


Nu ska jag visa hur en syntax kan se ut, och den syntaxen kan man fylla på med fler konstiga tecken, allteftersom man tar emot datafiler från olika system med olika tecken. 

Du kopierar bara av de konstiga tecknen från din textvariabel och lägger in dem i syntaxen.

Som ni ser i syntaxen nedan så har till exempel den här användaren stött på 2 former av bokstaven å (lilla å). Dels kan bokstaven å ha tecknet: Ã¥ eller
det här tecknet: ÃƒÂ¥

Det spelar ingen roll om du har för många tecken i syntaxen, för SPSS letar bara upp dem den hittar och ersätter dem med rätt bokstav, å, ä, ö, Å, Ä eller Ö. 

Syntaxen ser ut så här och kommer ersätta konstiga tecken i 3 variabler som heter textkommentar1, textkommentar2 och textkommentar3:


Syntaxen körs som vanligt genom att markera texten och trycka på den gröna triangeln i tool bar. Är du ovan med programmering och syntaxer, rekommenderar jag en mycket uppskattad nybörjarkurs som jag håller online via Statistikakademin.:


Resultat:



Trevlig helg och lycka till med SPSS!

Gunilla Rudander



torsdag 18 mars 2021

19 mars - göra missing definitioner för STRING-variabler

 Hej, string-variabler (dvs såna som innehåller bokstäver) är knepiga att hantera i SPSS. I det här fallet gällde det bortfallskodningar.


Problemet är att om något är blankt i en string-variabel så uppfattar SPSS detta som en giltig text dvs mellanslag. Hade det varit blankt i en numerisk variabel så uppfattar SPSS denna som SYSMIS, dvs system-bortfall på svenska.

Se frekvenstabellen på ovanstående variabel, vi har 8 blanka och 11 N/A, men de uppfattas som giltiga i frekvenstabellen. Det ska vi ändra på sen:

Du kan ändra detta i Variable View, men om det handlar om många liknande variabler så rekommenderar jag att använda kommandot Data - Define Variable Properties

Fördelen är att SPSS känner av alla befintliga värden (Values) och du kan enkelt kryssa i "Missing"-rutorna på de ställen du vill att SPSS hanterar värdet som missing. (Se nedan):


Fördelen är att du också kan klistra in kommandot som syntax (Paste) vilket underlättar för dig om du jobbar mycket med datapreparering.

Här kan jag rekommendera syntaxkursen som fokuserar på att preparera data effektivt via syntax:

Länk till syntaxkursen på Statistikakademin (nu även online)

När kommandot ovan körts (antingen via OK eller Paste) så får du en frekvensanalys som tar hänsyn till detta:


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




torsdag 4 mars 2021

5 mars - mer lättläst korrelation med nedre diagonalen och pivotering

 Hej, Av en ren slump märkte jag att de nu lagt in en extra kryssruta i korrelationskommandot, så man slipper få den övre diagonalen i korrelations-matrisen.

Kommando: Analyze - Correlate - Bivariate 

Lägg in variablerna i högra rutan som vanligt.

Kryssa för ett extra val (se nedan, röda strecket visar):




Då kommer korrelationsmatrisen bli så här lättläst:

Vill du få matrisen ännu mer lättläst?
Ja, då kan du pivotera tabellen.

Dubbelklicka på tabellen.
Högerklicka och välj "Pivoting Trays" från Popupmenyn.

Dra upp "Statistics"-delen till Layer (se pilen).

Så hamnar Statistics i lager, och du kan bläddra mellan 3 lager: korrelationskoefficienter, Antal dvs N och slutligen signifikansvärdet.

Här nedan är det första lagret valt dvs Pearson Correlation:

När du är klar klickar du utanför tabellen så kommer du ur editeringsläget och tillbaks till själva outputfönstret igen. 

Tack för titten! 

Gunilla


torsdag 25 februari 2021

26 feb - problem med bakgrundsfärg i graf

 Hej, under en kurs upptäckte en kollega till mig att det troligen är en liten bugg när man ska ändra färg inne i en graf. 

Grafen i exemplet är redan gjord (scatterplot) och sen har jag dubbelklickat på grafen för att kunna editera i den. 

När man klickar eller dubbelklickar i MITTEN av grafen (dvs innanför x och y, där alla punkter ligger), för att ändra bakgrund så markeras inte mittendelen utan det som ligger UTANFÖR grafen (se min röda pil).

Du ka se att det är grå små fyrkanter där den strecken pekar, och det indikerar att markeringen ligger UTANFÖR x och y-axlarna.



Skulle jag lägga in en färg nu, så kommer den alltså hamna fel, dvs utanför istället för i mitten:

Åtgärd: Du måste därför klicka en gång till i mitten (dvs innanför axlarna ). Då ser du att den ljusgrå ramen ligger innanför (syns dock inte jättetydligt).


Klicka sen på menyvalet Edit - Properties (se nedan)  ifall du inte ser "Properties-rutan" vid sidan om



När properties-rutan visar sig kan du nu välja färg från "Fill & Borders"-fliken



Tack för titen och trevlig helg!



fredag 19 februari 2021

19 feb - Jämföra datum och fixa datumformat

Hej

Den här veckan har jag två frågor som hör ihop och som har kommit under en online syntaxkurs jag hade förra veckan:

1. Om en patient har flera datum inmatade hur tar jag fram det tidigaste datumet av dessa?

2. När jag fått fram det tidigaste datumet så ser det inte längre ut som ett datum, en massa siffror bara?

Här kommer nu svaren

Svar på fråga 1 : Om data ser ut så här, hur skapar jag då en ny variabel som tar fram det tidigaste datumet?


Utnyttja kommandot Compute och funktionen Minimum så här

Kommando: Transform - Compute:


Du får då en ny variabel "tidig" som du ser nedan. Den ser ju väldigt märklig ut och då kommer vi till nästa följdfråga: 

Svar på fråga 2 : Nya variabeln "tidig" ser inte ut som ett datum längre utan en massa siffror.
Det beror på att programvaror (även Excel) egentligen jobbar med sekunder efter ett visst datum. I SPSS är det antal sekunder efter 14 okt 1582 men observera att Excel har annat startdatum. 


För att omvandla dessa sekunder i variabeln "tidig" så kan du antingen göra nedanstående i data fönstrets flik "Variable View" eller köra en syntax (längre ned). I variable view-fönstret väljer du "Type" och sen Date och här väljer jag formatet yyy/mm/dd:


Eftersom jag besvarade det här på en syntaxkurs, så är det så här man skriver syntaxen:


Då ser det ut som ett datum, och vi får då ut det tidigaste datumet av de 2 datum vi ser i vänstra kolumnerna.


 Gunilla




torsdag 11 februari 2021

12 feb - Kopiera variable label för nybörjare

 Hej, jag har hjälpt många nybörjare under hösten, och märkt att det här med etiketter var främmande för många och bland de jag hjälpte märkte jag att de var alla självlärda och missat en del grunder. Etiketter är egentligen bara ett skal som gör dina resultat snyggare och mer lättläst. Både för variabelnamn (Variable labels) och för koder (Value Labels)

Jag vill passa på att nämna att på grundkursen SPSS 1 på Statistikakademin, är etiketter ett moment som ingår samt förståelse för grundläggande statistik och statistiska tester. 

Kopiera Variable Labels

Nu till mitt trix som jag vill dela med mig då det gäller Variable Label, och det passar också för icke-nybörjare som vill baka in detta i en syntax. Visste du att man enkelt kan kopiera Variable Labels? Det är speciellt användbart om du kodar om variabler till nya och vill ha kvar samma variabel-etikett. 

Detta är från Variable View-fliken i datafönstret. Jag har 4 attitydvariabler med dessa etiketter som jag ringat in med rött.

Efter att ha skapat 4 nya variabler som kallats att1ny - att4 ny (där jag kodat om 5 kategorier till endast 3) så ser det ut så här i samma fönster. Ni ser nu att jag saknar etiketter här och jag skulle vilja ha exakt samma som de ursprungliga variablerna (att1-att4): 

Så här är själva instruktionen i 4 steg. De två första stegen: 

Och nästa två steg..


Syntax?

För er som inte längre är nybörjare och använder syntax är det här väldigt smart att använda för syntaxen också. Då klistrar du in detta i syntaxfönstret och jobbar vidare där.

Lär dig mer om grundläggande syntax på Statistikakademin, det är jag som skapat kursen och skulle bli jätteglad om du vill delta. Läs mer på den här länken.

Tack för titten!





torsdag 4 februari 2021

5 feb - när datumet tappar sitt datumformat vid Excel-import

 

Hej frågan idag har jag delat upp i 2 datumfrågor, där den ena handlar om att rädda ett datumformat och den andra handlar om att plocka ut vilken timme på dygnet utifrån ett datum med klockslag.


Fråga 1: Ibland när man öppnar en excelfil till SPSS, blir datumet till formatet string istället för datumformat. Se röda pilen som pekar på symbolen för string eller alfanumeriskt format, vilket det lilla a:t symboliserar. 

Hur gör man om det till ett datum?

1.       1. Skapa en kopia av variabeln (så inget förstörs och för efterkontroll)

Transform - Compute



Skriv det nya variabelnamnet under "Target Variable" och skriv den variabeln du ska kopiera av under "Numeric Expression" dvs    nyvariabel= gammalvariabel. 

OBS att du i ”Type-knappen” måste ange stringformat i nya variabeln, annars får du en varning. Välj helst samma bredd som den gamla variabeln du kopierar från, så att du säkert får med alla tecken. Här har jag valt bredden 19. 


Så här ser nya variabeln ut, dvs den nya variabeln är identisk med den gamla:

2.       2. Gör nu om den nya variabeln till datumformat, här utgår jag från "Variable View" i dataeditorn, där du kan ändra formatet under Type. Se nedan de 3 ställen du ska klicka på. 

 


Så här ser nu den nya variabeln ut efter formatändringen, det har blivit ett datum med klockslag och det finns en liten klock-symbol som indikerar det.



Fråga 2. Hur plocka ut timme från ett datum med klockslag?

Visserligen kan du plocka ut en position från en string-variabel genom SUBSTRING, men varför inte nyttja en datumfunktion från COMPUTE som ger dig timmen från datumet, förutsatt att det är datumformat.

Transform - Compute -Variable


Och resultatet blir själva timmen i klockslag:


Tack för titten och trevlig helg!

Gunilla Rudander


fredag 22 januari 2021

22 januari - Exportera resultat till Excel och Word

 Hej, nu har jag sett så många sitta och klippa och klistra sina tabeller och det blir förskjutningar och fel så nu måste jag bara visa ett säkrare sätt att få över era resultat.


Exportera enstaka tabeller som du selekterat

Utgå från ditt output-fönster (resultat / Viewer).


Sen fortsätter du med att välja format och spara ned med ett filnamn:


Exportera så gott som all output från Viewer

Här får du en instruktion hur du exporterar en hel outputsida där du inte vill ha med de tabeller du dolt. Läs mer på det här blogg-inlägget jag gjorde för ett par år sen (på engelska):

Klicka för att komma till instruktionen


Exportera en output till Wordformat

Här får du en filminspelning, du får scrolla till 11:22 för att komma till export-delen i inspelningen. 

Scrolla till 11:22 i denna film


Tack för titten! /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 ...