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:
# 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:
- Met behulp van de dollar-operator
$: Maakt het mogelijk om een enkele kolom als vector te extraheren.Rgrades <- students$grade # grades will be the vector c(28, 24, 30) - 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:
# 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:
# 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 $:
# Adds a column with grades increased by 2 points
students$bonus_grade <- students$grade + 2Probeer het zelf
Maak een dataframe met de naam studenten en bevat twee kolommen: naam (met waarden 'Alice' en 'Bob') en cijfer (met waarden 28 en 24).
Toon hint
Gebruik de data.frame-functie: studenten <- data.frame(naam = c('Alice', 'Bob'), cijfer = c(28, 24))
Oplossing beschikbaar na 3 pogingen
Gegeven de Data Frame-studenten extraheert u de cijferkolom met de operator $ en slaat u deze op in de variabele grades_vector.
Toon hint
Verenigde Staten $: grades_vector <- studenten$grade
Oplossing beschikbaar na 3 pogingen
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.
Toon hint
Gebruik studenten[students$grade >= 26, ] zonder de komma te vergeten om alle kolommen te selecteren.
Oplossing beschikbaar na 3 pogingen
Gegeven het dataframe df, haal de afmetingen ervan op met behulp van de dim() functie en sla ze op in de variabele df_dim.
Toon hint
Gebruik de dim() functie: df_dim <- dim(df)
Oplossing beschikbaar na 3 pogingen
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.
Toon hint
Gebruik: inventaris$total_value <- inventaris$prijs * inventaris$hoeveelheid
Oplossing beschikbaar na 3 pogingen