Deel 1
Intro in R en RStudio; Projecten; Externe data inlezen
22/04/2022
R
? --- (doorklikken)R
& RStudio
installeren --- (doorklikken)RStudio
interface --- (doorklikken)R
(doorklikken)Universiteit van Antwerpen; Faculteit Sociale Wetenschappen; dept. Opleidings- en onderwijswetenschappen (OOW)
brede onderzoeksinteresse: verschillende topics (psychometrie, schrijfonderzoek, learning strategies, educatie voor duurzame ontwikkeling, linguïstiek, ...)
belangrijkste onderzoeksfocus: Comparative Judgement + Leren van vergelijken
feR
vent R
gebruiker
Blog: https://svendemaeyer.netlify.app/
Twitter: @svawa
github: https://github.com/Sdemaeyer2
Je functie?
Onderzoek?
Verwachtingen?
Verschillende types van files:
Rmarkdown files (voor slides en voorbeelden)
R-scripts (als voorbeeld)
datasets
html-versie van de slides
Allemaal via Dropbox beschikbaar.
[https://www.dropbox.com/sh/37p15c6lcg6b0b3/AADbo4EYrjyoO7D4n0ldGNoUa?dl=0]
De slides als html kan je ook openen via mijn 'Talks site' [https://slides-sdemaeyer.netlify.app/]
We zullen de sessies opnemen
🙏 Maak het interactief! Interfereer gerust!
Zit je vast bij bepaalde oefeningen?
→ Deel je scherm ...
☕ nodig? Laat het weten!
R
en waarom R
?R
?Krachtig instrument voor
Een 'TAAL'
→ We moeten wat woordenschat en grammatica leren ...
R
?FREE OPEN SOURCE!
Constant in ontwikkeling
1000'en "add-ins" (pakketten)
Statistici implementeren nieuwe of betere algoritmes en technieken in R
Loopt voor op commerciële statistische software
Vergemakkelijkt Open Science
GROTE COMMUNITY
R
en RStudio
installerenR
installerenMocht je R nog niet hebben geïnstalleerd, doe het nu... Zit je vast, laat het even weten.
R
even kort verkennen ...RStudio
installerenhttps://www.rstudio.com/products/rstudio/
Scroll naar beneden en klik op RStudio Desktop
Nu kan je RStudio
downloaden
RStudio
installerenKlik op Products
Klik op RStudio
Nu kan je RStudio
installeren
Installeer RStudio
op je computer indien je dit nog niet gedaan hebt...
RStudio
interfaceRStudio
omgeving Laat ons samen RStudio
verkennen!
Dadelijk open ik RStudio. Uiteraard kan je zelf ook RStudio mee openen en kijken hoe het er bij jou uitziet...
R
vectors
matrices
arrays
data-frames
lists
functions
...
R
; we maken een script ...Tijd om onze handen 'vuil te maken' en samen te coderen
De code die we straks hanteren staat ook op de volgende slides.
Daarnaast is er een script Fruit.R
waarin ook deze code is opgenomen (zie Dropbox/VLHORA_R_2021/R_scripts
)
We maken een vector met de naam Fruit
Fruit <- c("Apples", "Bananas", "Lemons", "Berries", "Peaches")
c()
staat voor concatenate (= aaneenrijgen), alle elementen tussen haakjes gescheiden door ,
worden samengevoegd tot één element
de <-
betekent dat we het resultaat willen wegschrijven in een object (een vector) die we Fruit
noemen
doordat de elementen tussen " "
staan, geven we aan dat de elementen het type Character zijn
Laat ons het object Fruit opvragen
Fruit
## [1] "Apples" "Bananas" "Lemons" "Berries" "Peaches"
We kunnen ook de structuur van het object Fruit checken via de str()
functie
str(Fruit)
## chr [1:5] "Apples" "Bananas" "Lemons" "Berries" "Peaches"
We maken een vector met de naam Weight
Weight <- c(230, 191, 93, 100, 48)
nu worden de elementen weggeschreven als numerieke elementen
str(Weight)
## num [1:5] 230 191 93 100 48
dus we kunnen ermee beginnen rekenen...
bv. we kunnen de functie mean( )
toepassen
mean(Weight)
## [1] 132.4
We maken een vector met de naam Yellow
Yellow <- c(F, T, T, F, F)
nu zijn de elementen 'logische operatoren' (TRUE of FALSE)
str(Yellow)
## logi [1:5] FALSE TRUE TRUE FALSE FALSE
Laat ons kijken wat er in de vector Yellow zit
Yellow
## [1] FALSE TRUE TRUE FALSE FALSE
We maken een data.frame met de naam Fruit_data via de data.frame( ) functie
Fruit_data <- data.frame(Fruit, Weight, Yellow)
Fruit_data
## Fruit Weight Yellow## 1 Apples 230 FALSE## 2 Bananas 191 TRUE## 3 Lemons 93 TRUE## 4 Berries 100 FALSE## 5 Peaches 48 FALSE
str(Fruit_data)
## 'data.frame': 5 obs. of 3 variables:## $ Fruit : chr "Apples" "Bananas" "Lemons" "Berries" ...## $ Weight: num 230 191 93 100 48## $ Yellow: logi FALSE TRUE TRUE FALSE FALSE
De $
operator om te verwijzen naar een vector (of ook kolom of variabele)
Fruit_data$Fruit
## [1] "Apples" "Bananas" "Lemons" "Berries" "Peaches"
Of via indexing: verwijzen naar kolom- (en/of rij-) nummers tuseen [rij, kolom]
Element uit rij 1 en kolom 1 opvragen
Fruit_data[1,1]
## [1] "Apples"
Elementen in kolom 3 opvragen
Fruit_data[,3]
## [1] FALSE TRUE TRUE FALSE FALSE
Elementen in rij 3 opvragen
Fruit_data[3,]
## Fruit Weight Yellow## 3 Lemons 93 TRUE
Het R
universum is constant in ontwikkeling
Pakketten = uitbreidingen van de functies die in Base
zitten
Specialistisch tot Generieke/Universele pakketten
overzicht op https://cran.r-project.org/ (doorklikken naar Packages)
we maken een selectie...
tidyverse
een MUST-HAVE voor iedereen!
Meer informatie op https://tidyverse.org
ìnstall.packages( )
en library( )
Pakketten kan je downloaden en installeren
via 'klikken' in RStudio
via een functie in de Console of in een script
wat ikzelf het vaakst doe: install.packages()
Bv:
install.packages("tidyverse", dependencies = T)
Pakketten kan je activeren tijdens je sessie
via 'klikken' in RStudio
via een functie in de Console of in een script
wat ikzelf het vaakst doe: library()
Bv:
library("tidyverse")
Tijd om samen in RStudio
aan de slag te gaan ...
RStudio
Tijdens analyses zullen we geregeld verschillende bestanden hanteren:
Gevolg: in code moeten we verwijzen naar die files via ABSOLUTE paden
'c:/Users/Sven/Mijn Documenten/UAntwerpen/Analyses/ProjectX/R_Script/Analysescript1.R'
Superlastig om je werk te delen; verplaatsen van pc; ...
RStudio
heeft het concept Project geïntroduceerd om dit te omzeilen
In een project hateer je RELATIEVE paden (vertrekkend vanuit de folder waarin je een project opslaagt)
'~R_Script/Analysescript1.R'
Samen een project maken in RStudio
Op Dropbox kan je de map RIASEC_project
vinden welke je ergens op je pc kan zetten. Dit wordt ons startpunt dadelijk.
Via File/New Project...
Vervolgens kan je kiezen:
Schaal | Voorbeelditem | n items |
---|---|---|
Realistic | Test the quality of parts before shipment | 8 |
Investigative | Study the structure of the human body | 8 |
Artistic | Design artwork for magazines | 8 |
Social | Give career guidance to people | 8 |
Enterprising | Operate a beauty salon or barber shop | 8 |
Conventional | Inventory supplies using a hand-held computer | 8 |
Data afgehaald van https://openpsychometrics.org/_rawdata/ ; Data uitgefilterd voor 'BE', 'NL' en 'GB'
Data komt in allerlei formaten, maar de meest courante zijn:
Verschillende methodes en pakketten zijn ontwikkeld om die externe bronnen van data in te lezen
readxls
pakketZorg dat het pakket geïnstalleerd is op je pc
Vervolgens:
library(readxl)Data <- read_excel( path = "<verwijzing naar de map en het bestand>")
Stel: excel-file met de naam Dataverzameling1 met meerdere werkbladen
Doel: werkblad met de naam Groep2 inlezen wegschrijven in Data_Groep2
Data_Groep2 <- read_excel( path = "Dataverzameling1.xlsx", sheet = "Groep2")
sheet
moet je niet gebruiken als:
foreign
Zorg dat het pakket geïnstalleerd is op je pc
Vervolgens:
library(foreign)Data <- read.spss( file = "<verwijzing naar de map en het bestand>", use.value.labels = FALSE, to.data.frame = TRUE)
use.value.labels
argument:
Labels in SPSS weerhouden in R data-frame?
Bv. variabele met 3 categorieën: 1 = "Laag", 2 = "Gemiddeld", 3 = "Hoog". En deze labels zijn zo in SPSS file ingegeven. Dan kan je ervoor kiezen om de labels in de R data-frame weg te schrijven (use.value.labels = TRUE
) of de getallen 1, 2 en 3 in de R data-frame weg te schrijven (use.value.labels = FALSE
)
read.table( )
CSV files zien er doorgaans zo uit (gescheiden door een ,
of ;
)
Kolom1, Kolom2, Kolom31, 3, 52, 4, 68, 10, 99
Functie read_table( )
is het handigste...
Data <- read.table( file = "<verwijzing naar map en bestand>", header = TRUE, sep = ",", dec = ".")
header
argument:
Bevat de eerste rij kolomnamen (oftewel variabelenamen) of niet?
sep
argument:
Welk teken onderscheid gegevens in verschillende kolommen van elkaar?
dec
argument:
Welk teken is het decimaalteken? (soms is dat een punt en soms een komma)
R
? --- (doorklikken)R
& RStudio
installeren --- (doorklikken)RStudio
interface --- (doorklikken)R
(doorklikken)Keyboard shortcuts
↑, ←, Pg Up, k | Go to previous slide |
↓, →, Pg Dn, Space, j | Go to next slide |
Home | Go to first slide |
End | Go to last slide |
Number + Return | Go to specific slide |
b / m / f | Toggle blackout / mirrored / fullscreen mode |
c | Clone slideshow |
p | Toggle presenter mode |
t | Restart the presentation timer |
?, h | Toggle this help |
Esc | Back to slideshow |