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.
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.
Eerst kijk je naar strings in R en de regels voor strings in R.
Daarna duik je in de concatenatie van strings in R, samen met andere essentiële eigenschappen van strings.
Ook het extraheren en vervangen van een tekenreeks wordt uitgebreid uitgelegd.
Tot slot: het opmaken van strings, waarbij elke vectorinvoer kan worden omgezet naar een goedgeformatteerde notatie.
Regels voor strings in R
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.
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:
'...' - Geeft één of meer tekens of objecten aan die worden omgezet naar tekenvectors.
'sep' - Geeft een scheidingsteken aan.
'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))
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.
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:
char - Geeft een tekenvector aan.
type - Eén van drie types, namelijk "width", "chars", "bytes".
allowNA - Logische waarde met standaard FALSE; als het resultaat niet berekend kan worden, levert dit geen fout op maar NA.
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.
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.
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.
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)Mogelijk gemaakt door
Bovenstaande code geeft de volgende output, waarbij het teken 'Running' met enige breedte rechts wordt uitgelijnd.
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.
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.
Regels voor strings in R
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
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:
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:
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.
De output van bovenstaande code staat hieronder: alle tekens zijn samengevoegd tot één geheel en er is geen spatie via sep ingevoegd.
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:
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.
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.
Een tekenreeks extraheren en vervangen
substr(char, start, stop): Een tekenreeks extraheren en vervangen.
De bovenstaande argumenten betekenen:
Bekijk een voorbeeld waarbij tekens worden geëxtraheerd.
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.
Bekijk een ander voorbeeld waarbij tekens worden vervangen.
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'.
substring(char, first, last = 1000000L): Een tekenreeks extraheren of vervangen.
De bovenstaande argumenten betekenen:
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.
Bekijk een ander voorbeeld waarbij tekens worden vervangen.
De bovenstaande code geeft de output waarbij de posities van 6 tot en met 9 met de overeenkomstige tekenwaarde in y worden vervangen door '???'.
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:
Laten we een voorbeeld nemen van opmaak met wetenschappelijke notatie.
Bovenstaande code geeft de output die is uitgedrukt in wetenschappelijke of exponentiële notatie
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.
Bovenstaande code geeft de volgende output, waarbij 6 cijfers na de komma zijn opgenomen.
Laten we een voorbeeld nemen van opmaken met digits.
Bovenstaande code geeft de volgende output, waarbij het aantal cijfers vóór de komma plus het aantal na de komma samen 7 bedraagt.
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.
Bovenstaande code geeft de volgende output, waarbij het teken 'Running' met enige breedte rechts wordt uitgelijnd.
Laten we een voorbeeld nemen van opmaken met centreren.
Bovenstaande code geeft de volgende output, waarbij het teken 'Running' gecentreerd is met wat ruimte tussen rechts en links.
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.