Manual för Epi-Info: Analysprogram i Analyze Data
Denna sida är uppdaterad 2005-07-31

För att förstå den här sidan bör du först ha läst:

Ofta vill man göra låta modulen Analyze data göra flera kommando / instruktioner på en gång. Det är då praktiskt att spara dem som ett litet analysprogram som körs varje gång data skall analyseras. Den här webbsidan diskuterar vad man bör tänka på och ger olika exempel på analysprogram.

Låt oss först ge ett kort exempel på ett litet analysprogram. Anta att vi i ett projekt har mätt individers kroppsvikt initialt och vid en senare uppföljning. Här vill vi först läsa in de data som är registrerade i en tabell som heter viewStartmeny och som befinner sig i projektet obesitas (som lagras i en datafil  med namnet obesitas.mdb). Därefter vill vi räkna fram förändring i patienternas vikt mellan dessa två mättillfällen. Vikten vid första mättillfället har variabelnamnet (kolumnrubriken ) A01 och vikten vid andra mättillfället har namnet B01. Vi definierar då en ny variabel där viktändringen skall lagras. Vi kan kalla den variabeln AB01. Ett enkelt analysprogram som räknar fram detta skulle då kunna se ut som följer:

READ 'C:\Epi_Info\obesitas.MDB':viewStartmeny
DEFINE AB01
ASSIGN AB01=B01-A01

Detta lilla program har bara tre programrader. Variablerna A01 och B01 finns lagrade i filen obesitas.mdb. Den nya variabeln AB01 är ännu så länge bara lagrad i datorns elektriska minne. Stänger man av datorn försvinner variabeln AB01. Här finns två alternativ. Det ena är att man ger ett kommando som lagrar den nya variabeln i en datatabell på hårddisken så den finns kvar efter datorn stängts av. Det andra alternativet är att räkna fram variabeln AB01 varje gång man behöver den. Det sistnämnda är ofta att föredra. Det är onödigt att lagra information som lätt kan räknas fram ur befintliga variabler.

Analysprogram kan sparas på två sätt. Antingen används Epi-Info's egen funktion för att spara analysprogram (se övning 2 bland övningsexempel för Epi-Info) eller så sparar man kommandon i en separat textfil som klistras in i analysmodulens programfönster varje gång man vill bearbeta data. Här kan man ibland stöta på problem. Det händer någon gång att kommandon som kopieras in "Program editor" inte fungerar. Läs mer på sidan om tips kring potentiella problem i Epi Info om du inte får ett inkopierat program att fungera trots att det ser riktigt ut.

Ett analysprogram skall ofta göra flera olika moment. Alla de här momenten kräver några rader med kommandon. Samtliga moment sammanfogas slutligen till ett program som i vissa fall kan bli ganska många rader. Låt oss ge några exempel på hur man skriver programkoden för några vanliga moment:

Att räkna fram förändring Vanligt att man vill göra detta. Förändringen räknas fram genom att ta skillnaden mellan ett basvärde och en senare datainsamling. Ett kort exempel på detta visas ovan. På sidan som ger ett exempel på sumscore och transformering av data ses också exempel på att räkna fram förändring.
Att räkna fram sumscore I många enkäter behöver man räkna fram en total poäng bestående av svaren från flera frågor. Egentligen är det tveksamt om man bör göra detta (läs sidan om skattningsskalornas statistik) men ofta har man inte andra acceptabla alternativ om man vill kunna jämföra med tidigare studier. Detta är enkelt på så sätt att man definierar bara en ny variabel som kan kallas exempelvis sumscore. man skriver sedan en programrad som anger att sumscore är delfrågorna summerade. Om det är många delfrågor bör man summera delar av frågorna till flera delsummor som sedan summeras. På en annan sida beskrivs programfilen för ett projekt som jämför två olika behandlingar för ländryggssmärtor. Denna programfil visar hur man tar fram sumscore och hur man jämför förändringar i sumscore mellan två grupper. Webbsidan om SF-36 ger exempel på mer avancerade sumscore som inte bara är en enkel summering.
Att koda om data Ibland behöver man koda om data. Ett exempel på en enkel omkodning kan vara om ett förändringsmått skall omvandlas till förbättrad, oförändrad eller försämrad. Man omvandlar då de ursprungliga förändringsmåtten till +1, 0 eller -1. På en annan sida beskrivs programfilen för ett projekt som jämför två olika behandlingar för ländryggssmärtor. Denna programfil ger exempel på detta. Webbsidan om SF-36 ger exempel på andra sätt att koda om data.
Ranger En speciell omkodning av data är att ta fram ranger. Detta beskrivs dels på sidan som beskriver ett projekt om carpaltunnelsyndrom och dels på sidan som ger diverse tips om programsnuttar som gör olika uppgifter.
Aggregerade data och flernivåmodeller Läs gärna sidan om flernivåmodeller. Ett exempel på aggregering av data till en högre datanivå ses på sidan Ex på analysprogram - Summering.


 


Åter till innehållsförteckningen för Epi-Info


Denna webbsida är författad av
Doc. Ronny Gunnarsson
Distriktsläkare/Familjeläkare

Läs om regler för ansvar och copyright som gäller för denna webbsida.