Modulelessen (2/2)
Gegevenstypen en matrices
R heeft verschillende basisgegevenstypen waarmee verschillende informatie in vectoren en variabelen kan worden opgeslagen.
Elementaire gegevenstypen
De drie belangrijkste gegevenstypen die het meest worden gebruikt in R zijn:
numeric: decimale getallen (bijvoorbeeld4.5,10.0) of gehele getallen.character: tekstreeksen tussen dubbele of enkele aanhalingstekens (bijvoorbeeld"Alice",'Data').logical: Booleaanse waarden, die alleenTRUEofFALSEkunnen zijn. In R kun je ook de afkortingenTofFgebruiken (hoewel het voor de duidelijkheid wordt aanbevolen om de volledige versies te gebruiken).
# Examples of different types
score <- 95.5 # numeric
player_name <- "Marco" # character
is_winner <- TRUE # logicalMatrices
Een matrix in R is een tweedimensionale uitbreiding van een vector. Net als vectoren kunnen matrices slechts elementen van één type bevatten (meestal getallen).
U maakt een matrix met behulp van de functie matrix(), die een gegevensvector levert en het aantal rijen (nrow) of kolommen (ncol) specificeert:
# Create a 2x3 matrix with values from 1 to 6
mat <- matrix(1:6, nrow = 2, ncol = 3)
print(mat)Standaard vult R de matrix kolom voor kolom in.
Toegang tot elementen
Om toegang te krijgen tot een specifiek element in een matrix, gebruikt u vierkante haakjes [row, column]:
# Extract the element at the first row, second column
value <- mat[1, 2]
# Extract an entire row by leaving the column field empty
first_row <- mat[1, ]
# Extract an entire column
second_col <- mat[, 2]Factoren
Factoren in R zijn speciale datastructuren die worden gebruikt om categorische variabelen weer te geven (kwalitatieve gegevens die tot een eindige reeks categorieën behoren, zoals geslacht of opleidingsniveau). Ze zijn van groot belang bij statistische analyse:
sizes <- c("M", "L", "M", "S")
size_factor <- factor(sizes)
print(size_factor) # Also shows the Levels: S M LGegevens combineren: cbind en rbind
We kunnen vectoren of matrices combineren door ze per kolom te binden met cbind() (kolombinding) of per rij met rbind() (rijbinding):
v1 <- c(1, 2)
v2 <- c(3, 4)
# Creates a 2x2 matrix by placing v1 and v2 side-by-side as columns
combined <- cbind(v1, v2)Probeer het zelf
Declareer een logische variabele met de naam is_active ingesteld op TRUE en een tekenvariabele met de naam gebruikersnaam ingesteld op 'Alice'.
Toon hint
Gebruik de operator <- voor beide variabelen op afzonderlijke regels.
Oplossing beschikbaar na 3 pogingen
Maak een matrix met de naam mat met de waarden van 1 tot en met 6, gestructureerd met 2 rijen (nrow = 2) en 3 kolommen (ncol = 3).
Toon hint
Gebruik de functie matrix(1:6, nrow = 2, ncol = 3).
Oplossing beschikbaar na 3 pogingen
Gegeven de reeds gemaakte matrixmat, extraheert u het element dat zich in de eerste rij en derde kolom bevindt, en slaat u het op in de variabele val.
Toon hint
Toegang tot het element met vierkante haakjes: val <- mat[1, 3]
Oplossing beschikbaar na 3 pogingen
Maak een factor uit de vectorcategorieën en wijs deze toe aan de variabele cat_factor.
Toon hint
Gebruik de functie factor(): cat_factor <- factor(categorieën)
Oplossing beschikbaar na 3 pogingen
Gegeven de vectoren col1 en col2, combineer ze als kolommen van een matrix met behulp van cbind() en wijs het resultaat toe aan my_matrix.
Toon hint
Gebruik: mijn_matrix <- cbind(col1, col2)
Oplossing beschikbaar na 3 pogingen