Last chance! 50% off DataCamp Premium
Sale ends in
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.
Bijvoorbeeld: 'cars', 'merry"s' , 'merry\'s' zijn geldige strings in R.
Bijvoorbeeld: "cars" , "merry's", "merry\"s" zijn ook geldige strings in R.
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:
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"
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:
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.
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""
substr(char, start, stop): Een tekenreeks extraheren en vervangen.
De bovenstaande argumenten betekenen:
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:
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"
format(char,width,scientific,justify,nsmall,digits): Zet een vector van gehele getallen en tekens om naar een veelgebruikte notatie.
De bovenstaande argumenten betekenen:
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, 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.
R-cursussen
Cursus
Cursus
Cursus

blog
Adel Nehme
15 min