Direct naar de hoofdinhoud
Module 2 · Les 1 van 23/10 in de cursus~12 min
Modulelessen (1/2)

Gegevensframes

In tegenstelling tot matrices, die slechts elementen van één type kunnen bevatten, vertegenwoordigen Dataframes de meest gebruikte tabellarische gegevensstructuur in R voor het analyseren van gegevens uit de echte wereld.

Een dataframe is een tabel waarin elke kolom verschillende gegevenstypen kan bevatten (bijvoorbeeld een numerieke kolom, een tekstkolom en een logische kolom), maar alle kolommen moeten dezelfde lengte hebben.

Een gegevensframe maken

Om een ​​dataframe te maken, gebruikt u de functie data.frame(), waarbij u de kolomnamen definieert en er vectoren aan toewijst:

R
# Create a sample data frame
students <- data.frame(
  name = c("Alice", "Bob", "Charlie"),
  grade = c(28, 24, 30),
  passed = c(TRUE, TRUE, TRUE)
)
print(students)

Toegang tot kolommen en rijen

Er zijn verschillende manieren om gegevens in een dataframe te extraheren en te manipuleren:

  1. Met behulp van de dollar-operator $: Maakt het mogelijk om een ​​enkele kolom als vector te extraheren.
    R
    grades <- students$grade
    # grades will be the vector c(28, 24, 30)
  2. Met vierkante haakjes [row, column]: vergelijkbaar met matrices.
    R
    # First student (first row)
    first_student <- students[1, ]

Gegevens filteren

Een van de sterke punten van R is de mogelijkheid om records te filteren op basis van logische voorwaarden:

R
# Select only students with grade greater than 25
good_students <- students[students$grade > 25, ]
print(good_students)

Afmetingen en gegevensframes wijzigen

Om de afmetingen van een dataframe (het aantal rijen en kolommen) te vinden, kunnen we de functie dim() gebruiken:

R
# Returns a vector with two elements: c(rows, columns)
dimensions <- dim(students)

We kunnen ook nieuwe kolommen toevoegen of bestaande bijwerken met behulp van de operator $:

R
# Adds a column with grades increased by 2 points
students$bonus_grade <- students$grade + 2

Probeer het zelf

Oefening#r.m2.l1.e1
Pogingen: 0Laden…

Maak een dataframe met de naam studenten en bevat twee kolommen: naam (met waarden 'Alice' en 'Bob') en cijfer (met waarden 28 en 24).

Editor laden…
Toon hint

Gebruik de data.frame-functie: studenten <- data.frame(naam = c('Alice', 'Bob'), cijfer = c(28, 24))

Oplossing beschikbaar na 3 pogingen

Oefening#r.m2.l1.e2
Pogingen: 0Laden…

Gegeven de Data Frame-studenten extraheert u de cijferkolom met de operator $ en slaat u deze op in de variabele grades_vector.

Editor laden…
Toon hint

Verenigde Staten $: grades_vector <- studenten$grade

Oplossing beschikbaar na 3 pogingen

Oefening#r.m2.l1.e3
Pogingen: 0Laden…

Filter de Data Frame-studenten om alleen studenten op te nemen met een cijfer groter dan of gelijk aan 26, en sla het resultaat op in good_students.

Editor laden…
Toon hint

Gebruik studenten[students$grade >= 26, ] zonder de komma te vergeten om alle kolommen te selecteren.

Oplossing beschikbaar na 3 pogingen

Oefening#r.m2.l1.e4
Pogingen: 0Laden…

Gegeven het dataframe df, haal de afmetingen ervan op met behulp van de dim() functie en sla ze op in de variabele df_dim.

Editor laden…
Toon hint

Gebruik de dim() functie: df_dim <- dim(df)

Oplossing beschikbaar na 3 pogingen

Oefening#r.m2.l1.e5
Pogingen: 0Laden…

Voeg op basis van de dataframe-inventaris een nieuwe kolom toe met de naam total_value, berekend als het product van de kolommen prijs en hoeveelheid.

Editor laden…
Toon hint

Gebruik: inventaris$total_value <- inventaris$prijs * inventaris$hoeveelheid

Oplossing beschikbaar na 3 pogingen