Gå till index

Lilla Forskarskolan: Forskningsmetoder och Analys med R

0% färdig
0/0 Steps
  1. Analys och forskning med R och Posit (Rstudio)
  2. Grunderna i R och Rstudio
    7 Ämnen
  3. Importera, exportera, spara och ladda data
    5 Ämnen
  4. Strängar och regular expressions (regex)
    1 Ämne
  5. Bearbetning av data med dplyr
    12 Ämnen
  6. Visualisera och presentera
    14 Ämnen
  7. Explorerande och deskriptiva analyser
    6 Ämnen
  8. Prediktionsmodeller
    12 Ämnen
  9. Klassisk regressionsanalys
    8 Ämnen
  10. Machine learning (ML) och Artificiell Intelligens (AI)
    9 Ämnen
  11. Skapa prediktionsmodeller med Tidymodels
    6 Ämnen
  12. Hypotestester och epidemiologiska mått
    5 Ämnen
Avsnitt Progress
0% färdig

Introduktion

Syftet med denna kurs är att lära dig hur man hanterar, analyserar och presenterar data. Data science är ett stort område som kan inbegripa alla typer av studiedesign och analyser. Den explosionsartade utvecklingen av data science under senare år förklaras bland annat av följande:

  • Storskalig insamling och strukturering av data. Genom digitalisering har möjligheterna att samla in data ökat och följaktligen samlar vi in data i en aldrig tidigare skådad takt. Metoder för datalagring har effektiviserats avsevärt. Stat, kommun, landsting, företag och organisationer samlar idag in stora volymer data oavbrutet.
  • Förbättrad mjukvara och hårdvara för analys av data. Hårdvara och mjukvara för data science har utvecklats snabbt, särskilt inom maskininlärning (machine learning, ML) och artificiell intelligens (AI), där utvecklingen varit hiskelig under senare år. Idag är mjukvaran så effektiv och flexibel att en nybörjare kan på ett par veckor börja använda de mest avancerade metoderna.
  • Disseminering av data science. Det finns numera närmast oändligt med utbildningsmaterial om data science online. Denna tillgänglighet har föranlett att allt fler lär sig hantera dessa verktyg. Det finns gott om initiativ för att lära allmänheten data science, exempelvis Elements of AI vars målsättning är att lära alla medborgare i Sverige och Finland artificiell intelligens (AI).
  • Ökat intresse för data. Data har blivit en värdefull tillgång i alla organisationer, från statliga myndigheter till små och stora företag. Detta har föranlett att fler individer och organisationer är intresserade av data.
graph TD; A(Data science)-->B(Medicin) A-->C(Finans); A-->D(Fysik); A-->E(Kemi); A-->F(Biologi); A-->G(Samhälle); A-->H(etc);

Figur 1.1: Data science finns i alla ämnesområden.

Data science är agnostiskt

Du kan använda denna bok till medicinsk forskning, finansiella analyser, forskning inom biologi, kemi eller samhällsvetenskap. Hårdvara, mjukvara och analysmetoder är identiska i alla branscher.

1.1 Förutsättningar

Tidigare erfarenhet av programmering är fördelaktigt men inte nödvändigt för att läsa denna bok. Vem som helst kan lära sig att använda R effektivt. Ju bättre du blir på att skriva kod, desto lättare blir ditt arbete. Din förmåga att skriva kod kommer vara en närmast linjär funktion av tiden du investerar i att lära dig.

1.2 Målsättning

Denna bok ger dig fundamentet för att själv kunna genomföra en studie. Men du kommer inte att bli expert genom att bara läsa denna boken. För att bli skicklig krävs ytterligare fördjupning och i denna bok får du lämpliga hänvisningar där fördjupning kan göras. Du kommer dock att inse att denna bok räcker långt och ger dig fundamentet som behövs för att arbeta med de metoder och ämnen som berör dig mest.

Det är viktigt att ha bra referensverk för att kunna fördjupa sig. För statistiska metoder och machine learning rekommenderar vi:

1.3 Programmera i R

R är ett tolkat språk (eng interpreted language), vilket innebär att du måste ange kommandon för att utföra operationer (exempelvis beräkningar). Att programmera eller koda innebär att man skriver kommandon. På din begäran kommer R försöka utföra dessa kommandon.

1.3.1 Varför programmera när man kan klicka?

Det finns en fundamental skillnad mellan tolkade språk och programvara med gränssnitt (exempelvis SPSS, Excel, etc). Även om program som Excel och SPSS verkar enkla och bekväma eftersom man analysera enbart genom att klicka så har de uttalade begränsningar. Exempelvis är det svårt att hålla koll på alla klick som gjorts, vilket kan göra det närmast omöjligt att reproducera resultaten. Dessutom är dessa program begränsade av de funktioner som tillverkaren erbjuder. Om du använder R (eller Python) kan du följa din kod rad för rad och analysera precis vad du gjort. Du kan när som helst justera dina kommandon och omedelbart erhålla uppdaterade resultat. Du får också tillgång till de allra senaste metoderna och tekniken eftersom hundratusentals experter arbetar dagligen för att utveckla R (och Python). R och Python är kostnadsfria och dominerar idag marknaden för forskning, data science och statistik (Figur 1.2). Det finns kommersiella språk (exempelvis SAS, Stata) men användningen av dessa minskar varje år till fördel för R och Python.

Figur 1.2: Google Trends resultat för R, SAS, STATA, Python och SPSS.

1.4 Arbetsgång

I Figur 1.3 framgår vilka moment som görs i en typisk studie.

graph TD; A(Importera data)--> B(Inspektera data)--> C(Preparera och transformera data)--> D(Visualisera data)--> E(Beskriva data)--> F(Skapa prediktionsmodeller)--> H(Kommunicera resultat)

Figur 1.3: Moment i en studie.

För att analysera data i R måste data först importeras. Du kan importera i princip vilken typ av data som helst till R (SAS, STATA, SPSS, Excel, CSV, etc). Efter att data har importerats skall en omsorgsfull inspektion göras. Inspektionen skall kartlägga kolumnernas och radernas natur.

För kolumnerna (variablerna) inbegriper detta bland annat:

  • Kartläggning av vilka typer av variabler som finns och om R har tolkat variabeltypen rätt: En variabel som är numerisk (t ex kroppsvikt) måste tolkas som numerisk (numerical) av R för att undvika felaktiga analyser.
  • Kartläggning och justering av kategoriska variablers olika nivåer (levels): Variabler som inte är numeriska är oftast faktorer i R (factor). Varje faktorvariabels nivåer måste granskas och justeras vid behov.
  • Kartläggning av andelen missing för varje variabel: Missing data är ett problem i nästan alla analyser. Det är viktigt att kartlägga hur stort problemet samt om och hur det kan åtgärdas.
  • Kartläggning av variablernas distributioner: Enkla beskrivningar av variablernas distributioner (maxvärde, minimivärde, medelvärde, medianvärde, etc) skall göras.
  • Skapande av nya variabler (kolumner).

För raderna (observationerna) inbegriper detta bland annat:

  • Klargörande om raderna representerar unika individer.
  • Klargörande om samma individ kan förekomma fler gånger i data.

Viktiga termer

  • Visualisering: skapande av grafer och figurer.
  • Deskription: Enkla matematiska beskrivningar av data. Exempelvis användning av medelvärden och standarddeviation för att beskriva fördelningar.
  • Prediktion: Användning av en modell för att göra en förutsägelse om ett utfall eller ett värde. Exempel på utfall är död (ja/nej) och exempel på värde är viktnedgång i kilogram. Man kan predicera (förutsäga) om en patient kommer att överleva eller inte, eller hur mycket en person kommer gå ner i vikt.
  • Prediktionsmodell (statistisk modell): Prediktionsmodeller används för att (1) beskriva samband mellan variabler eller (2) göra prediktioner. De skapas antingen med klassisk regressionsanalys eller maskininlärning. Alla modeller utgör en matematisk beskrivning av data. De kan användas för att skatta effekten av variabler (t ex hur kolesterol påverkar risken för hjärtattack) eller eller göra prediktioner (t ex hur stor risken är för att drabbas av en hjärtattack).
  • Tidy data: Data där kolumner utgör variabler och rader utgör observationer.
  • Data wrangling: Bearbetning av data så att analyser kan göras.
  • Visualisering av data är nästan alltid viktigt. Visualisering kan göras som ett led i inspektion, deskription eller redovisning av slutresultat.

Ofta skapas även statistiska modeller (prediktionsmodeller) för att studera samband mellan variabler eller för att skapa prediktionsmodeller. Oftast kan samma modell användas för att studera samband och göra prediktioner.

1.5 Data frame

Att importera data innebär helt enkelt att du öppnar data och gör den tillgänglig i R. Data avser oftast en rektangulär tabell som består av rader och kolumner. Raderna är observationer (exempelvis patienter) och kolumnerna är variabler. I R kallas dessa tabeller för data frames, vilket ofta förkortas df.

NamnÅlderInkomstUtbildningKolesterol
Adam45324211Högskola4.5
Zara51198765Grundskola7.6
John49250643Gymnasium3.2
Exempel på en data frame.

1.5.1 Andra datatyper

Med R kan du analysera data frames, foton, illustrationer, ljudinspelningar och video. Eftersom denna bok riktar sig till nybörjare kommer data frames vara i fokus.

1.5.2 Mjukvara

  • R: R är ett språk och mjukvara för databehandling och grafik.
  • RStudio: RStudio skapades för att underlätta arbetet i R. Från och med oktober 2022 byter RStudio namn till Posit. För att arbeta med R startar du bara Rstudio. Med Rstudio skapar du även rapporter i PDF, EPUB och HTML.
  • Paket (eng. package): Du kan utöka funktionaliteten i R genom att installera paket. Det finns cirka 16000 paket tillgängliga.

1.6 Om R and Rstudio

R är ett språk som utvecklats speciellt för att analysera och visualisera data. R är extremt effektiv för detta ändamål. Inget annat språk är lika effektivt, flexibelt och mångsidigt. R utvecklades på Bell Laboratories (tidigare AT&T, numera Lucent Technologies) av John Chambers och kollegor. Till standardinstallationen av R finns ytterligare 16000 paket vilket skapar enorma möjligheter.

1.6.1 Installerar R

Ladda ner R (desktop version) från CRAN (The Comprehensive R Archive Network): https://cloud.r-project.org.

1.6.2 Hur man installerar RStudio

RStudio är en så kallad IDE (integrated development environment), vilket innebär att det är ett program som gör det enklare att programmera. RStudio gör det enklare att hålla koll på script, filer, grafer och dokument. Ladda ner RStudio här: http://www.rstudio.com/download.

RStudio ser ut som framgår i Figur 1.4.

Figur 1.4: Rstudio.
Figur 1.4: Rstudio.

Notera i Figur 1.4 att det finns fyra fönster i RStudio. Högst upp till vänster finns Source/Script som används för att skriva och spara kod (skript). Du kommer skriva din kod i detta fönster. Under Source/Script finns Console, som kan användas för att köra korta kommandon. Det är också i Console som du får besked om ditt skript gick att exekvera (köra).

1.7 Att köra kod i R

För att köra kod i Console kan du skriva ditt kommando på sista raden och trycka på Enter. I Figur 1.5 ser du ett exempel på när kommandot 1+1 exekveras.

Att köra kod i R.
Figur 1.5: Att köra kod i R.

För att köra kod i Source/Script väljer du de rader du vill köra och tryck på Run längst upp till höger i rutan.

Figur 1.6
Figur 1.6: Kör flera rader kod samtidigt i Script-fönstret.

Som framgår i Figur 1.4 finns ytterligare två fönster i R, nämligen Enviroment (Miljö) och Verktyg. Under Environment ser du alla data frames och andra objekt du skapar och importerar. Under Verktyg ser du flera paneler (File, Plots, Packages, Help, etc). I Figur 1.7 framgår att dessa paneler presenterar dina filer, grafer som du skapat, paket som finns tillgängliga och hjälpdokumentation för alla paket och funktioner.

Figur 1.7: Verktyg i Rstudio.