Ga naar hoofdinhoud

R c-functie(): eenvoudig vectoren maken

Leer hoe je de functie c() in R gebruikt om waarden efficiënt te combineren tot vectoren.
· 2 min lezen

Verken met AI

De functie c() in R is de makkelijkste manier om vectoren te maken en te combineren. Het is een kernonderdeel van hoe R met data omgaat, en iets wat elke R-gebruiker zou moeten kennen.

Als je net begint met R, volg dan zeker onze cursus Introduction to R Programming om de basis te leren, waaronder vectoren, lijsten, data frames en meer. Ik schreef ook een artikel over hoe je R leert als je een leerplan wilt opstellen.

(En als je nieuwsgierig bent naar de moeilijke manier om vectoren te maken, heb ik een FAQ aan het einde toegevoegd.)

Wat is de functie c() in R?

De documentatie van de R-functie c() vertelt ons dat c() waarden combineert tot een vector (dus ik denk dat we veilig kunnen aannemen dat de "c" staat voor "combine"). Als je niet precies weet wat dat betekent, laat ik het hieronder in de voorbeelden zien.  

Voordat we verdergaan, moet ik specifieker zijn: de functie c() accepteert een willekeurig aantal argumenten en geeft een vector terug met alle waarden. Als de datatypes verschillen, zet hij waarden automatisch om naar een gemeenschappelijk datatype (naar het meest flexibele datatype), wanneer dat nodig is.

c() gebruiken om waarden te combineren

Ons eerste voorbeeld: je kunt c() gebruiken om vectoren te maken door individuele waarden of variabelen te combineren. In deze voorbeelden zie je dat c() werkt voor verschillende datatypes, zoals numeriek, character en logisch.

numeric_vector <- c(10, 20, 30, 40) 
character_vector <- c("apple", "banana", "cherry") 
logical_vector <- c(TRUE, FALSE, TRUE)

Bestaande vectoren combineren met c()

Je kunt ook bestaande vectoren combineren met c(). Dit is handig wanneer je meerdere databronnen of resultaten wilt samenvoegen.

first_half <- c(1, 2, 3)
second_half <- c(4, 5, 6)
full_vector <- c(first_half, second_half)

c() gebruiken met benoemde elementen

Je kunt namen toekennen aan elementen binnen een vector met c(). Dit is handig voor het labelen van data.

fruit_counts <- c(apple = 5, banana = 3, cherry = 7)

c() met verschillende datatypes

Bij het combineren van verschillende datatypes zal c() alle elementen omzetten naar het meest flexibele type. Het combineren van getallen en tekens resulteert bijvoorbeeld in een character-vector. Dit komt doordat "two" niet als numeriek kan worden gelezen, maar "1" wel een teken kan zijn.

mixed_vector <- c(1, "two", 3)

Ons resultaat hier zal een character-vector zijn: "1", "two", "3".

Een data frame maken met c()

Je kunt c() gebruiken om vectoren te maken die als kolommen in een data frame dienen. Hiervoor gebruik ik ook de functie data.frame() om de vectoren bij elkaar te zetten.

customer_names <- c("Alice", "Bob", "Charlie")
purchase_totals <- c(120.50, 75.00, 99.99)
customer_data <- data.frame(name = customer_names, total = purchase_totals)

Conclusie

Zoals je hebt gezien, is de functie c() een essentieel onderdeel van programmeren in R. In de voorbeelden liet ik zien hoe je zowel vectoren kunt maken als combineren.

Volg onze cursus Introduction to R Programming voor een gestructureerd leerpad om te beginnen en je vaardigheden verder te ontwikkelen.

Josef Waples

Auteur

Josef Waples

Ik ben een schrijver en editor op het gebied van data science en heb bijgedragen aan onderzoeksartikelen in wetenschappelijke tijdschriften. Ik ben vooral geïnteresseerd in lineaire algebra, statistiek, R en dergelijke. Ik speel ook best wat schaak! 

Laatste vraag

Je zei dat c() de makkelijke manier is om vectoren te maken. Wat is de moeilijke manier?

Hoewel c() de meest handige en beginnersvriendelijke methode is, zijn er complexere manieren om vectoren in R te maken. Hier zijn er een paar:

Handmatige initialisatie met vector() en indexering 

Je kunt een lege vector van een bepaald type en lengte maken en deze vervolgens element voor element vullen:

x <- vector("numeric", 3) x[1] <- 1 x[2] <- 2 x[3] <- 3

Dit werkt, maar is omslachtiger en minder intuïtief voor beginners.

append() herhaaldelijk gebruiken 

Je zou kunnen beginnen met een lege vector en steeds waarden toevoegen:

x <- c() x <- append(x, 1) x <- append(x, 2) x <- append(x, 3)

Dit is inefficiënt en lastiger te lezen.

Andere functies zoals seq() of rep() gebruiken

Deze functies genereren specifieke patronen en zijn krachtig—maar overkill voor eenvoudige vectoren:

x <- seq(1, 3) y <- rep(1:3, times = 1)

 Andere structuren platmaken 

Je kunt elementen uit een lijst halen en die omzetten naar een vector:

my_list <- list(1, 2, 3) x <- unlist(my_list)

Onderwerpen

Gerelateerd