Introduksjon til R

RStudio

Sted: Arbeidsforskningsinstituttet, OsloMet

Kursholder: Silje Synnøve Lyder Hermansen

Epost: silje.hermansen@ifs.ku.dk

Velkommen til R workshop! Formålet med denne workshopen er å gi deg den grunnleggende kunnskapen du trenger for å navigere R på egenhånd. Du blir ingen ekspert, men etter våre to dager sammen, vil du ha et innblikk i – og førstehånds erfaring med – hvordan R fungerer.

Dette er en workshop. Det betyr at vi jobber aktivt i R sammen gjennom hele kurset. Ta med deg laptop-en din og gjør deg klar til å skrive! I forkant bør du allerede ha installert R (https://www.r-project.org/; statistikkprogrammet) og RStudio (https://www.rstudio.com/products/rstudio/; brukergrensesnittet). Om du møter på problemer, kan du også møte opp en halvtime tidligere på tirsdag.

Alle skal med! Derfor kan vi justere på programmet underveis. Jeg vil dele r-notatene mine gjennom kurset. De vil dere finne på denne linken: https://siljehermansen.github.io/teaching/oslomet).

Første workshop: Introduksjon til R

Tid: kl. 09.30-15.00; 30.-31. august 2022

Dag 1: De første byggesteinene

Sted: Ingeniørhuset, rom PH424

Første dag jobber vi i base-R. Fokuset er på å bli kjent med R-språket og få på plass gode arbeidsrutiner.

Sesjon 1: Kom i gang

Sesjon 2-3: Datatyper, objekter og funksjoner

Sesjon 4: R som tegneprogram

Sesjon 5: Arbeidsflyt

Dag 2: Analyse i R

Sted: Sykepleierhuset, rom N040.012

Andre dag begynner vi med analyser. Nå introduserer jeg også andre R-dialekter.

I forkant av workshopen, kan du installere de følgende R-pakkene: tidyverse (denne kan ta tid), dplyr, ggplot2, kableExtra. stargazer og MASS. Dette gjør du ved å skrive install.packages("tidyverse") i R-konsollen.

Sesjon 6: Beskrivende statistikk

I denne sesjonen skal vi bruke data fra kapittel 5 i Lær deg R. Dette er data fra den norske runden av ESS (2014). Du kan laste dem ned her.

Sesjon 7-8: Tilrettelegging av data

I denne sesjonen skal vi bruke data fra kapittel 6 i Lær deg R. Dette er data fra den norske runden av ESS (2014) samt Chapel Hill Survey fra samme år.

Andre workshop: Visualisering

Tid: kl. 09.30-12.00; 10. oktober 2022

Sted: Pilestredet 35, Ellen Gleditschs hus: PI451

I denne workshopen fokuserer vi på visualisering. Vi begynner med å lage tabeller. Deretter går vi gjennom noen av de grafiske mulighetene som R tilbyr.

Selv om vi fokuserer på beskrivende statistikk og presentasjon idag, har flere av teknikkene vi bruker mye til felles både med hva vi har sett tidligere og hva vi skal gjøre framover. Vi benytter sjansen til å gjenta noe av hva vi gjorde da vi tilrettela data. Vi varmer også opp til dynamisk rapportering og modellering, som vi skal se neste gang vi møtes.

Dataene vi skal bruke idag, kommer også fra ESS (2014). Jeg bruker en tilrettelagt versjon for Norge i Lær deg R (kapittel 7).

Sesjon 9: Tabeller: dplyr, tidyr og kableExtra

Vi begynner dagen med tabeller. I denne sesjonen bruker vi dplyr-, tidyr- og kableExtra-pakkene. Sistnevnte har du muligens ikke installert enda.

Sesjon 10: Mer tegning: ggplot2

Vi tar et bad i ggplot2: R er blitt populært ikke minst på grunn av visualiseringsmulighetene det tilbyr. ggplot2-pakken har vært instrumentell i denne utviklingen.

Tredje workshop: Modellering og dynamisk rapportering

Tid: kl. 09.30-12.00; 2. desember 2022

Sted: Arbeidsforskningsinstituttet, OsloMet

Kursholder: Silje Synnøve Lyder Hermansen, Førsteamuanensis, Universitetet i København

Epost: silje.hermansen@ifs.ku.dk

Webside: https://siljehermansen.github.io

Velkommen til en ny R-workshop! Til nå har vi fokusert på arbeidsflyten i R, datatilrettelegging og beskrivende statistikk. I desember vil vi endelig gå gjennom modellering i R og hvordan vi kan rapportere resultatene.

R åpner for mange ulike modelleringer tilgjenglig i ulike pakker. De bygger alle på samme lest. For denne workshopen fokuserer vi derfor på basismodellene: lineære modeller. Vi vil gå gjennom syntaksen for modellen, samt hvordan vi kan presentere resultatene med tall, ord og tegning.

Ofte produserer vi liknende dokumenter basert på samme type data og analyser. Dette er typisk for årlige rapporteringer (f.eks. årsstatistikk), men også for nye versjoner av forskningsarbeidene våre (f.eks et nytt konferansepaper). Selve dataene og resultatene endrer seg ofte mellom disse versjonene: Vi har nye data (f.eks. data for et nytt år eller nyinnsamlede/korrigerte data) og dermed endrer også resultatene seg. Derimot er ofte selve analyseteksten og strukturen den samme mellom ulike versjoner. Da er det nyttig å bruke dynamiske rapporter som automatisk integrerer endringene.

R kan integreres med tekstbehandling for å produsere Word-, LaTeX- eller html-dokumenter. Da “flettes” R-kodene sammen med teksten, tabellene og grafikkene og resultatene oppdateres. Dette gjør det mulig å dokumentere og oppdatere hva vi gjør underveis. Løsningen gjør det mulig å skrive papere, rapporter, “notatblokker”, lysbilder/slides, websider og interaktive “apper”.

I denne workshopen går jeg gjennom hovedprinsippene og demonstrerer noen av mulighetene som RStudio åpner for oss. Jeg viser hvordan vi kan lage tekstdokumenter hvor vi integrerer resulattabeller, språklig og visuell tolkning. Dette er enormt arbeidsbesparende! Denne workshopen introduserer nettopp denne arbeidsflyten.

Jeg vil basere introduksjonen på rmarkdown-språket og pandoc-løsningen. Du kan få en oversikt over mulighetene her: https://rmarkdown.rstudio.com/articles.html

I forkant av workshopen bør du ha installert rmarkdown. Du kan finne instrukser her: https://bookdown.org/yihui/rmarkdown-cookbook/installation.html

Sesjon 11: Regresjoner: Analyse og tolkning

Data for sesjonen: kap7

Fjerde workshop: Skraping i R (Automatisert datainnsamling)

Tid: kl. 09.00-12.00; 6. januar 2023

Sted: Arbeidsforskningsinstituttet, OsloMet (Pilestredet 46, Clara Holst hus: PA314)

Det finnes et hav av digital informasjon der ute som vi kan bruke som data. Da er “skraping” (automatisert datainnsamling) gull verdt. Automatisert datainnsamling er noe av det smarteste jeg lærte under doktorgraden. Dataene jeg bruker i forskningen min kommer i all hovedsak fra digitale dokumenter som R har prosessert for meg.

Automatisert datainnsamling er ikke vanskelig, men det kan være en tålmodighetsprøve. Så lenge informasjonen vi er ute etter er strukturert med tekst eller i en html-liste, vil vi kunne fortelle en datamaskin hvordan dataene skal hentes ut og sorteres. Skraping er stordriftsøkonomi. Det krever en del tid å finne datastrukturen, men når dette er gjort, kan vi sette R til å jobbe for oss. Det er magisk!

I denne workshopen skal vi gå gjennom hovedprinsippene for hvordan vi leser tekst fra nettsider og hvordan vi kan hente ut informasjon fra denne teksten og legge den inn i en datamatrise. I prosessen får vi bruk for indekseringen og de regelmessige uttrykkene vi har lært tidligere. Vi kommer også til å gå gjennom tips og triks for stordriftsøkonomi i R ved hjelp av funksjoner og løkker.

Du kan komme til workshopen med varierende ambisjonsnivå. Vi skal gå gjennom en typisk arbeidsprosess for automatisert datainnsamling. I tillegg vil jeg gi noen indikasjoner på hvilke avveininger som er lure å gjøre når vi lager en innsamlingsstratgi. På slutten av workshopen, vil du kjenne til hovedprinsippene for slik datainnsamling og kan begynne med ditt eget prosjekt. Men du kan også bruke workshopen som en demonstrasjon av R-triks vi allerede er blitt kjent med og hanke inn ekstra tips for hvordan gjøre R-kodingen mer effektiv når du tilrettelegger data.

Jeg vil dele r-notatene mine gjennom kurset. De vil dere finne på denne linken: https://siljehermansen.github.io/teaching).

Hente ut data fra tekst

Vi begynner med å surfe nettet. Første skritt er å legge en strategi: Hvilken informasjon er vi ute etter? Hvordan tenker vi at datamatrisen vår skal se ut? Hvilken informasjon er tilgjengelig? Selv om vi til slutt vil lese inn informasjon fra mange ulike nettsider, vil vi begynne med et typisk eksempel på én observasjon (ett dokument).

Deretter begynner arbeidet. Vi leser nettsiden for det første eksempelet inn i R og bruker indekseringsverktøyet for å hente ut dataene vi ønsker oss. For å gjøre dette, ser vi etter regelmessigheter i tekstdokumentet.

Mangfoldiggjøring

Neste skritt er mangfoldiggjøring. Vi har skrevet en R-kode som henter ut informasjon for én observasjon. R-koden vil som oftest innebære flere operasjoner som skal gjøres etter hverandre mange ganger. Da er det nyttig å skrive en løkke (en “loop”).

På dette tidspunktet vi jobbe fram og tilbake mellom eksempler og mangfoldiggjøring. Det vil si, ofte finnes det enten uregelmessigheter i kildene våre eller flere alternative tekststrukturer. Da er det praktisk å skrive en algoritme. En algoritme bygger på en enkel logikk hvor vi skriver ulike kodesnutter for ulike tekststrukturer og starter hver kodesnutt med et “hvis/hvis-ikke”-spørsmål.

For de som er interessert, vil vi til sist skrive vår egen funksjon. Det gjør at R arbeider fortere, og gjør R-kodene våre lettere å lese.

Postprosessering og andre triks

Til sist, vil vi gå gjennom ulike tips og triks for arbeid i R. Dette er nyttig uansett om vi har skrapet dataene selv, eller bare har data og filer vi ønsker å tilrettelegge.

Når dataene er samlet inn, gjenstår det vanlige arbeidet med å rense dem. Da vil vi nok en gang få bruk for de regelmessige uttrykkene vi har sett i løpet av høsten.

Avatar
Silje Synnøve Lyder Hermansen
Assistant Professor

Silje’s research concerns democratic representation in courts and parliaments. She also teaches various courses in research methods and comparative politics.

Related