Datavask og datastrukturer - klargjøring av data for analyse. Kevin Thon

Like dokumenter
Datavask - klargjøring av data for analyse. Kevin Thon

Datastrukturer. Kevin Thon. 25 april 2017

Datastrukturer. Kevin Thon. 25 april 2017

Kvalitetssikre og analysere egne data - Nødvendig kunnskap

BEGYNNERKURS I SPSS. Anne Schad Bergsaker 12. februar 2019

BEGYNNERKURS I SPSS. Anne Schad Bergsaker 26. april 2018

BEGYNNERKURS I SPSS. Anne Schad Bergsaker 17. november 2017

Den norske mor og barn undersøkelsen Versjon 2

Enalyzer Norge. Nice to know - ESS

Den norske mor og barn undersøkelsen Versjon 2

Kom i gang med Stata for Windows på UiO - hurtigstart for begynnere

Begynnerkurs i Stata. UiO vår 2019, Knut Waagan 1 / 95

Mål: SPSS. Litteratur. Noen statistikk-programpakker. Dokumentasjon fra SPSS Inc. Introduksjon til IBM SPSS Statistics 20

Eksport /Import person

DATAUTFORSKNING I EG, EG 7.1 OG EGENDEFINERTE FUNKSJONER SAS FANS I STAVANGER 4. MARS 2014, MARIT FISKAAEN

Kapittel 1: Data og fordelinger

ting å gjøre å prøve å oppsummere informasjonen i Hva som er hensiktsmessig måter å beskrive dataene på en hensiktsmessig måte.

Beskrivelse av skjermbilder og funksjoner i PayBack SingelUser.

GoOnline Site Search

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Dette dokumentet beskriver ny funksjonalitet i NOBB Kontrakt versjon 7.0. Merk at alle skjermbilder i beskrivelsen er gjort med fiktive data.

Som ledd i forberedelsene til innføring av Elhub skal alle kraftleverandører besvare denne datakvalitetsundersøkelsen.

SMF3081F Videregående metodekurs

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Kom forberedt til tirsdag. INF1000 Tips til obligatorisk oppgave 4. Noen generelle tips. Oblig4: Komme igang

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case. Terje Rydland - IDI/NTNU. Lære å lage større og sammensatte programmer

Læringsmål og pensum. if (be): else (not_to_be):

Introduksjon til beslutningsstrukturer

Vareimport fra Excel (OF51XLS)

TDT4110 Informasjonsteknologi grunnkurs: Tema: Mer om strenger. - 3rd edition: Kapittel 8. Professor Alf Inge Wang

Simulering med Applet fra boken, av z og t basert på en rekke utvalg av en gitt størrelse n fra N(μ,σ). Illustrerer hvordan estimering av variansen

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

1 Sec 3-2: Hvordan beskrive senteret i dataene. 2 Sec 3-3: Hvordan beskrive spredningen i dataene

Ta kontakt i pausen. Viktig at vi kommer i gang med dette arbeidet!

Nytt i NIMES

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk. - 3rd edition: Kapittel 3. Professor Alf Inge Wang

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6. Terje Rydland - IDI/NTNU

Rapporter i Nasjonalt introduksjonsregister

Kapittel 1 En oversikt over C-språket

TDT4110 Informasjonsteknologi grunnkurs: Programmering: En større case. Professor Alf Inge Wang

Kortversjon - Akseptansetest av sending Elektronisk epikrise - Den gode epikrise

Læringsmål og pensum. En større case. Mål Lære å lage større og sammensatte programmer Pensum Kapitlene 1-9 og 12.

TDT4110 Informasjonsteknologi grunnkurs: Eksempler. Mangekanter

Unit4 Web Dokumentarkiv Dokumentarkiv og vedlegg i Unit4 Web

Valg av variabler og design

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.

Introduksjon til SPSS. Johan Håkon Bjørngaard Institutt for samfunnsmedisin, NTNU

Redigere innsynsmodulens oppslagsregistre

Tirsdag 21/11. Onsdag 24/11. Tirsdag 12/12. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case

Hva kan et klinisk fagsystem bidra med til kvalitetsregistre?

Generelle Tips. INF Algoritmer og datastrukturer. Åpen og Lukket Hashing. Hashfunksjoner. Du blir bedømt etter hva du viser at du kan

NRFs administrasjon TLF Norske Rørgrossisters Forening. Effektiv informasjonslogistikk. Terje Røising Daglig leder

Rapporter i Nasjonalt introduksjonsregister

Verdier, variabler og forms

Brukerveiledning Excelmal Merkesystem 2017

Repeated Measures Anova.

Excel Dan S. Lagergren

VISMA OPPVEKST SKOLE KOBLING MED VISMA ENTERPRISE HRM (UNIQUE ANSATT)

INF1000 (Uke 15) Eksamen V 04

INF1000 (Uke 15) Eksamen V 04

TDT4105 Informasjonsteknologi, grunnkurs MatLab: Filbehandling - load, save, type - fopen, fgetl, feof, fprintf, fclose

Rutenettsmodell Import av Laserscan datafiler

INF Algoritmer og datastrukturer

Sudokubrettet Et sudokubrett består av n n ruter. Vi bruker følgende begreper i oppgaven:

OPPGAVEHEFTE I STK1000 TIL KAPITTEL Regneoppgaver til kapittel 7. X 1,i, X 2 = 1 n 2. D = X 1 X 2. På onsdagsforelesningen påstod jeg at da må

Sudokubrettet Et sudokubrett består av n n ruter. Vi bruker følgende begreper i oppgaven:

Utvidet brukerveiledning

Python: Variable og beregninger, input og utskrift. TDT4110 IT Grunnkurs Professor Guttorm Sindre

ITGK - H2010, Matlab. Repetisjon

Repetisjon: Normalformer og SQL

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) Institutt for Informatikk. INF Ragnar Normann 1

Geometra. Brukermanual. Telefon:

God datakvalitet. Strategi og handlingsplan Gardermoen,

Valideringshåndbok. Alexander Walnum. Servicemiljødager, 5. og 6. november i Oslo 2015

Versjonsbrev for Extensor05 versjon februar 2018

Import av varer fra Excel

Versjonsbrev for Extensor05 versjon april 2018

Etter at besvarelsene er besvart og undersøkelsesperioden er avsluttet, kan du hente ut rapporter.

Et lite oppdrag i bakgrunnen

Metadata fra kvalitetsregistre til nasjonal metadataportal. Elin Gustavsen Rundebordskonferanse Gardermoen,

Testlig og binær form

!!!!!!!!!! Kom i gang med. Noklus Diabetes! !!!!!!

Hurtigstartveiledning

Informasjon om nettselskapet. Informasjon om målepunkter. Datakvalitetsundersøkelse for nettselskaper

Enkel plotting i LibreOffice/OpenOffice og Excel

[Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hio.no) 07/ Vi holder orden på verdier med hjelp av variabler

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Unntak (exceptions) (Kap 6) Dictionaries (Kap. 9) Terje Rydland - IDI/NTNU

Del 1 En oversikt over C-programmering

Python: Valg og betingelser. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Oblig 4Hybelhus litt mer tips enn i oppgaven

Brukerdokumentasjon. Webservices og webklient for kodeverk/ kodeverdi verifisering

Obligatorisk oppgave 1 INF1020 h2005

Metaspråket for å beskrive grammatikk

Bytte til Excel 2010

Rapporteket. Brukermanual. Are Edvardsen

EXCELERATOR KENNETH TORSTVEIT. Sensitivity: Internal

Øvingsforelesning TDT4105

Hydrostatikk/Stabilitet enkle fall

SMF3081 Videregående metodekurs

Transkript:

Datavask og datastrukturer - klargjøring av data for analyse Kevin Thon

Hva er datavask Begrepet datavask har ingen entydig definisjon Typisk: Sett av valideringsregler i en datainnhentingskjede Datavask Rådata Leselig data Gyldig data Statistikk Sluttprodukt Uttrekk og standardisering Redigering og imputering Analyse og inferens Formatering Datavask 30. mars 2022 1 / 37

Hva er datavask Denne forelesningen tar (som oftest) utgangspunkt i at man har mottatt et ferdig datasett: Hvilke type problemer kan det være med datasett Hvordan identifiserer man mangler Hvordan utbedrer man manglene (hvis mulig) Hvordan skape et analyseklart datasett Vil gå gjennom en rekke forhold man må være bevisst Vil foreslå noen metoder for sjekk og omforming/vasking av data Datavask 30. mars 2022 2 / 37

Skitne data På hvilke måter kan et datasett være være skittent? Mange! Kan noen ganger bedres ved datavaskmetoder Noen ganger vil konklusjonen være at man ikke kan gjøre ønskede analyser basert på tilgjengelig datasett. Garbage in, garbage out (GIGO) Datavask 30. mars 2022 3 / 37

Skitne data Mulige problemer med datasett: Viktig data i form av fritekst (f.eks. fra scannerløsning): Datoer: Ulike formater. Duplikater Ugyldige verdier Tomme felter Misvisende defaultverdier Uhåndterlige variabelnavn Tall som tekst Upraktisk struktur Data levert i flere tabeller, behov for kobling Encoding Datavask 30. mars 2022 4 / 37

Skitne data: Fritekst Bør unngås Fortsatt svært vanlig å motta data i fritekst Utelukker mulighet for valideringsregler ved innregistrering Vanlige problemer: Mellomrom før og etter ord Blanding av små og store bokstaver Ved scanning: 1 tolket som l eller I, O som 0, og motsatt Encoding: Lesing og visning av æ,ø,å Datavask 30. mars 2022 5 / 37

Skitne data: Fritekst Eksempel: Ønsker å lage tabell over diagnoser i et register I registeret registreres diagnoser strukturert som ICD-10 koder. Ved én avdeling har ikke personvernombud godkjent elektronisk innregistreringsløsning: Data registreres på papir og scannes. Vanligste diagnoser: M54.5 M54.2 M545 M51.1 M54.9 M542 M54.6 M79.1 742 363 85 69 42 41 29 20 m79.1 M48.0 M50.1 M5496 M 79.1 M43.1 M47.2 M549 19 17 16 15 9 9 9 7 Datavask 30. mars 2022 6 / 37

Skitne data: Fritekst Gjør alle bokstaver store Fjern alle mellomrom Sett inn ledende M der koden begynner med et tall (Vi vet at det er ryggdiagnoser) Erstatt I og L med 1, og O med 0. Fjern komma og punktum Vanligste diagnoser: M545 M542 M511 M791 M549 M546 M5496 M480 827 411 77 57 55 30 22 19 M501 M431 M472 M419 USPES1F1KKENAKKESMERTER S32 19 9 9 6 6 5 Datavask 30. mars 2022 7 / 37

Skitne data: Fritekst Var1 Freq Var1.1 Freq.1 M54.5 742 M545 827 M54.2 363 M542 411 M545 85 M511 77 M51.1 69 M791 57 M54.9 42 M549 55 M542 41 M546 30 M54.6 29 M5496 22 M79.1 20 M480 19 m79.1 19 M501 19 M48.0 17 M431 9 M50.1 16 M472 9 M5496 15 M419 6 Datavask 30. mars 2022 8 / 37

Skitne data: Datatyper Hvilke datatyper/formater som har vært spesifisert ved eksport fra database kan ha betydning ved innlesing: Numeriske kolonner kan inneholde enhet ( 42%, 42 $, 42 km, osv.) Numeriske kolonner kan ha lokalitetsspesifikke formateringer: 4.2 vs 4,2, eller 4.200,42 vs 4,200.42 Løsning: Fiks kolonnene, fjern irrelevant info og sett datatype (numerisk). Personnummer vil ofte leses inn som tall og miste ledende nuller: Må spesifiseres som tekstvariabel ved innlesning. Datavask 30. mars 2022 9 / 37

Skitne data: Datoer Vær oppmerksom på at datoformatet kan variere, DD.MM.YYYY, YYYY-DD-MM På tvers av datovariabler Innad i variabel - kan kreve betinget manipulering av tekststrenger De fleste (alle?) statistikkprogrammer vil la deg spesifisere format ved innlesning Datoer i ikke-standard format vil som regel kunne identifiseres ved at de ikke lar seg lese inn som datovariabler. Noen ganger viktig å ta hensyn til tidssoner, spesielt hvis tidsdifferanser inngår i analysen. Vær forsiktig med å åpne og lagre datafil i Excel: Tall kan ha blitt tolket som dato og motsatt Artikkel i Genome Biology fra august 2016 slår fast at:... approximately one-fifth of papers with supplementary Excel gene lists contain erroneous gene name conversions. Datavask 30. mars 2022 10 / 37

Skitne data: Duplikater Mange årsaker til duplikater Innleggelse over år - opptrer i flere årssammenstillinger Pasient kan være flyttet i løpet av forløpet - opptrer for flere sykehus/enheter Kan i noen tilfeller være enkelt å identifisere: Samme unike pasient- eller forløps-id samme innleggelses/utskrivningsdato Potensielt dilemma: Har identifisert dobbeltregistrering, men med avvikende verdier i enkelte variabler: Hva beholder man? Datavask 30. mars 2022 11 / 37

Skitne data: Ugyldige verdier Det anbefales å innføre logiske sjekker av datamaterialet Utskrivelsesdato må være etter innleggelsesdato All behandling etter dødsdato bør betviles Registreringer basert på kodeverk (ICD-10, NCSP, osv.): Er det gyldige koder? Konsulter med fagfolk hvis mulig Dersom man har dokumentasjon på variabelsettet: Maksimum og minimumsverdier Svaralternativer i samsvar med kodebok Datavask 30. mars 2022 12 / 37

Skitne data: Uhåndterlige variabelnavn I en del tilfeller vil variabelnavn i utlevert datasett være vanskelig/umulig å jobbe med Noen programmer har begrensning på antall tegn Eksempel: 32. I løpet av de siste fire ukene, hvor mye av tiden har den fysiske helsen din eller følelsesmessige problemer påvirket dine sosiale aktiviteter (som å besøke venner, slektninger osv)? Innlest i R: X32..I.løpet.av.de.siste.fire.ukene..hvor.mye.av.tiden.har.den.fysiske.helsen.din.eller.følelsesmessige.problemer.påvirket.dine.sos Nødvendig å omnavne variblene: Enkelt i de fleste statistikkprogram. Potensielt problematisk hvis encoding er ukjent Innlest i R uten å spesifisere UTF-8 (med BOM): X32..I.lÃ.pet.av.de.siste.fire.ukene..hvor.mye.av.tiden.har.den.fysiske.helsen.din.eller.fÃ.lelsesmessige.problemer.pÃ.virket.dine. Datavask 30. mars 2022 13 / 37

Skitne data: Upraktiske variabelverdier/kategorier Kategoriske variabler kan leveres med kodeverdi eller kategorinavn Eks.: kodebok sier at variabel har verdiene 1 = Dårlig,..., 5 = Svært bra Faktiske verdier: Daarlig til SvaertBra Kodebok og datadump må stemme overens! Mer alvorlig tilfelle: Samme kode kan ha forskjellig betydning for registreringer ved forskjellige tider. Kode 1 går fra å bety mann til å bety kvinne Håndterbart hvis dokumentasjonen er god. Datavask 30. mars 2022 14 / 37

Skitne data: Feil gjennom defaultverdier Registerdata er ofte registrert i en elektronisk innregistreringsløsning Viktig å vite hvordan ikke-besvarte variabler er representert Eksempel fra norsk register: Beregning av gjennomsnittsverdi Opprinnelig var ikke-besvart representert ved tomme felter mean-funksjonen i R lar deg angi at tomme felter ignoreres ved beregning Ved oppdatering av kjerneversjon i innregistreringsløsning ble ikke-besvart erstattet med verdien -1. Alle beregninger basert på variabelen feilet Er det mulig å skille Ikke besvart fra Skal ikke besvares? Datavask 30. mars 2022 15 / 37

Generelle råd Se på data! Bruk ditt foretrukne verktøy Sorter Gjør utvalg Sammenlign Plot data Lag krysstabeller Datavask 30. mars 2022 16 / 37

Generelle råd: Plot data Datavask 30. mars 2022 17 / 37

Generelle råd: bruk tilgjengelige verktøy Enkle rutiner for datasjekk Datavask 30. mars 2022 18 / 37

Omstrukturering: Kobling av data En database vil typisk bestå av flere tabeller, f.eks.: Pasientinfo Behandlerskjema/intervensjon Oppfølging Som regel ønsker registerfolk/forskere data i én fil - kobling overlates til IT leverandør Ikke alltid praktisk mulig f.eks. for kronikerregister med vilkårlig antall oppfølginger De fleste statistikkprogrammer har funksjoner for kobling av data Datavask 30. mars 2022 19 / 37

Omstrukturering: Kobling av data Hver tabell vil ha én eller flere koblingsnøkler Personnummer Pasient-ID Foløps-ID Ved en kobling matcher man rader med samme koblingsnøkkel Forskjellige måter å koble data: Inner join: Behold rader med koblingsnøkkel i begge tabeller Left outer join: Behold alle rader i venstre tabell, de som ikke har matchende koblingsnøkkel i høyre tabell blir tomme Full outer join: Behold alle rader, ikke-matchede (venstre eller høyre) blir tomme Right outer join: Behold alle rader i høyre tabell, de som ikke har matchende koblingsnøkkel i venstre tabell blir tomme Datavask 30. mars 2022 20 / 37

Omstrukturering: Kobling av data Datavask 30. mars 2022 21 / 37

Omstrukturering Ofte vil strukturen i en database være designet/optimalisert for lagring Rasjonell struktur for lagring trenger ikke være rasjonell for analyse Hadley Wickham presenterer noen prinsipper for ryddig (tidy) data Hver variabel utgjør en kolonne Hver observasjon utgjør en rad En observasjon inneholder alle verdier målt på samme enhet (f.eks person, operasjon, dag) på tvers av atributter. En variabel inneholder alle verdier som måler samme underliggende atributt på tvers av enheter. Eksempler: Høyde, blodtrykk, O2-opptak. Datavask 30. mars 2022 22 / 37

Omstrukturering Hva som er observasjonsenhet påvirker hva som er variabler I repeterte målinger (repeated measures): Wide format: Én rad per subjekt (f.eks. individ, land, osv.), én kolonnne per respons Long format: Hver rad er ett tidspunkt per subjekt Datavask 30. mars 2022 23 / 37

Omstrukturering Wide: id trt T1 T2 T3 T4 1 treatment 0.0851360 0.6158293 0.1135090 0.0519033 2 control 0.2254366 0.4296715 0.5959253 0.2641777 3 control 0.2745305 0.6516557 0.3580500 0.3987907 4 treatment 0.2723051 0.5677378 0.4288094 0.8361341 Datavask 30. mars 2022 24 / 37

Omstrukturering Long: id trt key value 1 treatment T1 0.0851360 2 control T1 0.2254366 3 control T1 0.2745305 4 treatment T1 0.2723051 1 treatment T2 0.6158293 2 control T2 0.4296715 3 control T2 0.6516557 4 treatment T2 0.5677378 1 treatment T3 0.1135090 2 control T3 0.5959253 3 control T3 0.3580500 4 treatment T3 0.4288094 1 treatment T4 0.0519033 2 control T4 0.2641777 Datavask 30. mars 2022 25 / 37

Omstrukturering Mange måter data kan være rotete Kolonnenavn kan være verdier (ikke variabelnavn) Flere variabler kan være lagret i én kolonne Variabler kan være lagret i både rader og kolonner Datavask 30. mars 2022 26 / 37

Omstrukturering Finnes mange verktøy for rydding av rotete data To R-pakker er velegnet, tidyr og reshape2, SPSS og andre statistikkprogrammer vil ha tilsvarende. Med tre funksjoner kan man rydde i de fleste datasett tidyr::pivot longer el. tidyr::gather (reshape2::melt), konverterer fra wide til long tidyr::separate (reshape2::colsplit), deler tekstvariabel i flere kolonner tidyr::pivot wider el. tidyr::spread (reshape2::dcast), konverterer fra long til wide Datavask 30. mars 2022 27 / 37

Omstrukturering Kolonnenavn er verdier: religion $10k $10-20k $20-30k $30-40k Agnostic 27 34 60 81 Atheist 12 27 37 52 Buddhist 27 21 30 34 Catholic 418 617 732 670 Don t know/refused 15 14 15 11 Evangelical Prot 575 869 1064 982 Hindu 1 9 7 9 Historically Black Prot 228 244 236 238 Jehovah s Witness 20 27 24 24 Jewish 19 19 25 25 Datavask 30. mars 2022 28 / 37

Omstrukturering Ryddig form: religion income freq Agnostic $10k 27 Agnostic $10-20k 34 Agnostic $20-30k 60 Agnostic $30-40k 81 Agnostic $40-50k 76 Agnostic $50-75k 137 Agnostic $75-100k 122 Agnostic $100-150k 109 Agnostic 150k 84 Agnostic Don t know/refused 96 Atheist $10k 12 Atheist $10-20k 27 Atheist $20-30k 37 Atheist $30-40k 52 Datavask 30. mars 2022 29 / 37

Omstrukturering Flere variabler i én kolonne: country year m014 m1524 m2534 m3544 m4554 11 AD 2000 0 0 1 0 0 37 AE 2000 2 4 4 6 5 61 AF 2000 52 228 183 149 129 88 AG 2000 0 0 0 0 0 137 AL 2000 2 19 21 14 24 166 AM 2000 2 152 130 131 63 179 AN 2000 0 0 1 2 0 208 AO 2000 186 999 1003 912 482 237 AR 2000 97 278 594 402 419 266 AS 2000 - - - - 1 Datavask 30. mars 2022 30 / 37

Omstrukturering Steg 1: gather(): country year column cases AD 2000 m014 0 AD 2000 m1524 0 AD 2000 m2534 1 AD 2000 m3544 0 AD 2000 m4554 0 AD 2000 m5564 0 AD 2000 m65 0 AE 2000 m014 2 AE 2000 m1524 4 AE 2000 m2534 4 AE 2000 m3544 6 AE 2000 m4554 5 AE 2000 m5564 12 AE 2000 m65 10 Datavask 30. mars 2022 31 / 37

Omstrukturering Steg 2: separate(): country year sex age cases AD 2000 m 0-14 0 AD 2000 m 15-24 0 AD 2000 m 25-34 1 AD 2000 m 35-44 0 AD 2000 m 45-54 0 AD 2000 m 55-64 0 AD 2000 m 65+ 0 AE 2000 m 0-14 2 AE 2000 m 15-24 4 AE 2000 m 25-34 4 AE 2000 m 35-44 6 AE 2000 m 45-54 5 AE 2000 m 55-64 12 AE 2000 m 65+ 10 Datavask 30. mars 2022 32 / 37

Omstrukturering Norsk kvalitetsregister: Datavask 30. mars 2022 33 / 37

Omstrukturering Variabler lagret i både rader og kolonner: id year month element d1 d2 d3 d4 d5 MX17004 2010 1 tmax - - - - - MX17004 2010 1 tmin - - - - - MX17004 2010 2 tmax - 27.3 24.1 - - MX17004 2010 2 tmin - 14.4 14.4 - - MX17004 2010 3 tmax - - - - 32.1 MX17004 2010 3 tmin - - - - 14.2 MX17004 2010 4 tmax - - - - - MX17004 2010 4 tmin - - - - - MX17004 2010 5 tmax - - - - - MX17004 2010 5 tmin - - - - - Datavask 30. mars 2022 34 / 37

Omstrukturering Steg 1: gather(): id date element value MX17004 2010-01-30 tmax 27.8 MX17004 2010-01-30 tmin 14.5 MX17004 2010-02-02 tmax 27.3 MX17004 2010-02-02 tmin 14.4 MX17004 2010-02-03 tmax 24.1 MX17004 2010-02-03 tmin 14.4 MX17004 2010-02-11 tmax 29.7 MX17004 2010-02-11 tmin 13.4 MX17004 2010-02-23 tmax 29.9 MX17004 2010-02-23 tmin 10.7 Datavask 30. mars 2022 35 / 37

Omstrukturering Steg 2: spread(): id date tmax tmin MX17004 2010-01-30 27.8 14.5 MX17004 2010-02-02 27.3 14.4 MX17004 2010-02-03 24.1 14.4 MX17004 2010-02-11 29.7 13.4 MX17004 2010-02-23 29.9 10.7 MX17004 2010-03-05 32.1 14.2 MX17004 2010-03-10 34.5 16.8 MX17004 2010-03-16 31.1 17.6 MX17004 2010-04-27 36.3 16.7 MX17004 2010-05-27 33.2 18.2 Datavask 30. mars 2022 36 / 37

Oppsummering Datakvalitet er viktig! Mye kan gjøres med datasett i etterkant, men GIGO Må stille krav til dokumentasjon betyding av variabler tilatte verdier formater endringer Ulike analyser kan kreve ulik strukturering av data. Bør kunne omstrukturere datasett. Vær bevisst mulige problemer! Datavask 30. mars 2022 37 / 37