Ga naar hoofdinhoud

Strings in R Tutorial

Leer alles over strings in R: de regels, concatenatie, essentiële eigenschappen van strings, het extraheren en vervangen van een tekenreeks, en het opmaken van een string.
Bijgewerkt 2 okt 2026  · 8 min lezen

Verken met AI

ChatGPTClaudePerplexity

Een string is een tekenreeks die uit één teken kan bestaan of een verzameling tekens kan bevatten. Hij staat tussen enkele aanhalingstekens ('Dit is een string') of dubbele aanhalingstekens ("Dit is ook een string"). In de interne representatie van R worden strings echter weergegeven met dubbele aanhalingstekens.

In deze tutorial leer je over strings in R, en we behandelen de volgende onderwerpen.

  1. Eerst kijk je naar strings in R en de regels voor strings in R.
  2. Daarna duik je in de concatenatie van strings in R, samen met andere essentiële eigenschappen van strings.
  3. Ook het extraheren en vervangen van een tekenreeks wordt uitgebreid uitgelegd.
  4. Tot slot: het opmaken van strings, waarbij elke vectorinvoer kan worden omgezet naar een goedgeformatteerde notatie.

Regels voor strings in R

    1. Een string die begint met een enkel aanhalingsteken moet eindigen met een enkel aanhalingsteken. Je kunt echter dubbele aanhalingstekens plaatsen, en via de escape-sequentie ('\') kan ook een enkel aanhalingsteken onderdeel van de string worden.

Bijvoorbeeld: 'cars', 'merry"s' , 'merry\'s' zijn geldige strings in R.

    1. Een string die begint met een dubbel aanhalingsteken moet eindigen met een dubbel aanhalingsteken. Je kunt echter enkele aanhalingstekens plaatsen, en via de escape-sequentie ('\') kan ook een dubbel aanhalingsteken onderdeel van de string worden.

Bijvoorbeeld: "cars" , "merry's", "merry\"s" zijn ook geldige strings in R.

Concatenatie van strings

Concatenatie van strings betekent dat je strings aan elkaar koppelt of samenvoegt.

De syntaxis voor het concateneren van strings in R is:
paste(..., sep = "",collapse = NULL)
paste0(..., collapse = NULL)

De bovenstaande argumenten van paste betekenen:

  1. '...' - Geeft één of meer tekens of objecten aan die worden omgezet naar tekenvectors.
  2. 'sep' - Geeft een scheidingsteken aan.
  3. 'collapse' - Geeft een optioneel scheidingsteken aan.

Neem bijvoorbeeld het onderstaande voorbeeld waarin de variabelen een tekenreeks bevatten: my.var1 = "I" my.var2 = "eat" my.var3 = "rice" print(paste(my.var1,my.var2,my.var3))

Bovenstaande code geeft één string als hieronder:

"I eat rice"

Neem bijvoorbeeld het onderstaande voorbeeld waarin de variabelen de vector bevatten die wordt samengevoegd tot één string:

my.var1 = c('Book','Copy') my.var2 = c('Pen','Chair') print(paste(my.var1,my.var2,sep=" ",collapse="-"))

Bovenstaande code geeft de volgende output:

"Book Pen-Copy Chair"

Hier bevat de output een '-' tussen Pen en Copy door het gebruik van collapse, dat de scheiding tussen twee verschillende vectors aangeeft. Daarentegen bevat sep een spatie (' '), waarmee de afzonderlijke items worden gescheiden.

Bekijk het voorbeeld met paste0()

paste0() gebruikt impliciet sep = '' (dus zonder spatie) en is efficiënt in gebruik.

state.name <- paste0('Mary','l','and')
print(state.name)

De output van bovenstaande code staat hieronder: alle tekens zijn samengevoegd tot één geheel en er is geen spatie via sep ingevoegd.

"Maryland"

Lengte bepalen

nchar(char,type, allowNA,keepNA) - Bepaalt het totale aantal tekens in een gegeven vector.
nzchar(char) - Geeft TRUE terug als x niet leeg is en FALSE als het een lege string bevat.

De bovenstaande argumenten betekenen:

  1. char - Geeft een tekenvector aan.
  2. type - Eén van drie types, namelijk "width", "chars", "bytes".
  3. allowNA - Logische waarde met standaard FALSE; als het resultaat niet berekend kan worden, levert dit geen fout op maar NA.
  4. keepNA - Logische waarde met standaard FALSE; mistwaarden worden op 2 gemapt en nzchar() geeft TRUE, maar beide worden ook op TRUE gemapt in het geval van ontbrekende waarden.

In het onderstaande voorbeeld wordt de lengte van een tekenvector bepaald. my.char = nchar("hello") print(my.char)

Bovenstaand voorbeeld retourneert '5' als output, omdat er vijf tekens in de vector staan.

Voor het voorbeeld met nzchar() bekijk de code hieronder:

new.char = nzchar("monkey") print(new.char)

Bovenstaande code geeft de logische waarde 'TRUE' omdat 'new.char' geen lege string is.

my.char = nzchar("") print(my.char)

Bovenstaande code geeft de logische waarde 'FALSE' omdat 'my.char' een lege string is.

Omzetten naar hoofdletters en kleine letters

toupper(char) - Zet alle aanwezige tekens om naar hoofdletters.
tolower(char) - Zet alle aanwezige tekens om naar kleine letters.

Bekijk het voorbeeld voor omzetting naar hoofdletters. my.var = toupper("I'm changed to upper case") print(my.var)

Bovenstaande code geeft de volgende output, waarbij elk teken in de variabele 'my.var' naar hoofdletters is omgezet.

"I'M CHANGED TO UPPER CASE"

Bekijk het voorbeeld voor omzetting naar kleine letters. my.var = tolower("I'm changed to lower case") print(my.var)

Bovenstaande code geeft de volgende output, waarbij elk teken in de variabele 'my.var' naar kleine letters is omgezet.

""i'm changed to lower case""

Een tekenreeks extraheren en vervangen

substr(char, start, stop): Een tekenreeks extraheren en vervangen.

De bovenstaande argumenten betekenen:

  1. char - Geeft een tekenreeks aan.
  2. start - Geeft een geheel getal aan dat de overeenkomstige startpositie specificeert.
  3. stop - Geeft een geheel getal aan dat de overeenkomstige eindpositie specificeert.

Bekijk een voorbeeld waarbij tekens worden geëxtraheerd.

final.value <- substring('Remaining', 3, 9)
print(final.value)

In de bovenstaande code is 'Remaining' een string waarbij de eerste index 'R' is, met index 1. Het laatste teken is g met index 9.

De bovenstaande code geeft de output hieronder, waarbij de startwaarde 3 is, met het overeenkomstige teken ' m ' in 'Remaining'. Evenzo worden de andere tekens 'ainin' tot en met index 9, inclusief het overeenkomstige teken 'g', afgedrukt.

"maining"

Bekijk een ander voorbeeld waarbij tekens worden vervangen.

y = "Remaining"
substring(y, 3, 5) <- "der"
print(y)

De bovenstaande code geeft de output waarbij de posities van 3 tot en met 5 met de overeenkomstige tekenwaarde in y worden vervangen door 'der'.

"Rederning"

substring(char, first, last = 1000000L): Een tekenreeks extraheren of vervangen.
De bovenstaande argumenten betekenen:

  1. char - Geeft een tekenreeks aan.
  2. first - Geeft een geheel getal aan dat de overeenkomstige eerste positie specificeert.
  3. last - Geeft een geheel getal aan dat de overeenkomstige laatste positie specificeert en heeft standaardwaarde 1000000L.
my.value <- substring('Remaining', 3, 8)
print(my.value)

De bovenstaande code geeft de output hieronder, waarbij de startwaarde 3 is, met het overeenkomstige teken ' m ' in 'Remaining'. Evenzo worden de andere tekens tot en met index 8, inclusief het overeenkomstige teken 'n', afgedrukt.

"mainin"

Bekijk een ander voorbeeld waarbij tekens worden vervangen.

y = "newcharacter"
substring(y, 6,9) <- "???"
print(y)

De bovenstaande code geeft de output waarbij de posities van 6 tot en met 9 met de overeenkomstige tekenwaarde in y worden vervangen door '???'.

"newch???cter"

Strings opmaken

format(char,width,scientific,justify,nsmall,digits): Zet een vector van gehele getallen en tekens om naar een veelgebruikte notatie.

De bovenstaande argumenten betekenen:

  1. char - Kan een vector van gehele getallen of tekens zijn.
  2. width - Geeft een minimale breedte van de geproduceerde string aan.
  3. scientific - Standaard FALSE, maar gebruik TRUE voor wetenschappelijke notatie.
  4. justify - Standaard none, maar kan strings uitlijnen naar "right", "left" en "center".
  5. nsmall - Geeft het totale aantal cijfers na de komma aan.
  6. digits - Geeft het totale aantal cijfers vóór en na de komma aan.

Laten we een voorbeeld nemen van opmaak met wetenschappelijke notatie.

my.var <- format(c(2, 19.267), scientific = TRUE)
print(my.var)

Bovenstaande code geeft de output die is uitgedrukt in wetenschappelijke of exponentiële notatie

"2.0000e+00" "1.9267e+01"

De output "1.9267e+01" = 1,9267 × 10 (tot de 1e macht) = 1,9267 × 10 = 19,267.

Laten we een voorbeeld nemen van opmaken met nsmall.

my.var <- format(92.56656577, nsmall = 6)
print(my.var)

Bovenstaande code geeft de volgende output, waarbij 6 cijfers na de komma zijn opgenomen.

"92.566565"

Laten we een voorbeeld nemen van opmaken met digits.

my.var <- format(102.848793834, digits = 7)
print(my.var)

Bovenstaande code geeft de volgende output, waarbij het aantal cijfers vóór de komma plus het aantal na de komma samen 7 bedraagt.

"102.8488"

Er zijn zeven cijfers opgenomen in de output; het laatste cijfer zou 7 moeten zijn, maar door het voorgaande cijfer, d.w.z. 9, dat groter is dan 7, wordt dit verhoogd naar 8. Met andere woorden: er wordt afgerond.

Laten we een voorbeeld nemen van opmaken met rechts uitlijnen.

my.var <- format('Running', justify = 'r',width = 9)
print(my.var)

Bovenstaande code geeft de volgende output, waarbij het teken 'Running' met enige breedte rechts wordt uitgelijnd.

"  Running"

Laten we een voorbeeld nemen van opmaken met centreren.

my.var <- format('Running', justify = 'c',width = 12)
print(my.var)

Bovenstaande code geeft de volgende output, waarbij het teken 'Running' gecentreerd is met wat ruimte tussen rechts en links.

"  Running   "

Gefeliciteerd

Gefeliciteerd, je bent aan het einde van deze tutorial gekomen!

Je hebt geleerd over strings in R: de regels, concatenatie, essentiële eigenschappen van strings, het extraheren en vervangen van een tekenreeks, en het opmaken van een string.

Wil je meer leren over R? Volg dan DataCamps Introduction to R-cursus.

Bekijk ook onze tutorial Data Types in R.

Onderwerpen
R
Data Science

R-cursussen

Cursus

Introductie tot R

4 uur
3.1M
Beheers de basis van data-analyse in R, inclusief vectors, lists en data frames, en oefen met echte datasets.
Bekijk detailsRight Arrow
Start Cursus
Meer bekijkenRight Arrow
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer BekijkenMeer Bekijken