Ako analyzovať textové údaje v R: Základy manipulácie s reťazcami

Ako Analyzovat Textove Udaje V R Zaklady Manipulacie S Retazcami



Reťazce sú druhým najpopulárnejším dátovým typom v programovaní R a manipulácia s reťazcami je kľúčovou úlohou v R. Operácia manipulácie s reťazcami v R pozostáva z viacerých funkcií na použitie a zmenu textových údajov, vrátane zmeny a analýzy reťazcov. V tomto článku sa ponoríme do niekoľkých funkcií, ktoré nám pomáhajú pri manipulácii s reťazcami. Tieto funkcie sú zabudované v R a používajú sa na rôzne účely na vykonávanie úloh reťazca.

Príklad 1: Získajte polohu vzoru z reťazca pomocou funkcie Grep() v R

Na extrahovanie polohy špecifikovaného vzoru z reťazca sa použije funkcia grep() z R.

grep('i+', c('opraviť', 'rozdeliť', 'kukurica n', 'farba'), perl=TRUE, value=FALSE)

Tu používame funkciu grep(), kde je vzor „+i“ špecifikovaný ako argument, ktorý sa má nájsť v rámci vektora reťazcov. Nastavíme znakové vektory, ktoré obsahujú štyri reťazce. Potom nastavíme argument „perl“ na hodnotu TRUE, ktorá označuje, že R používa knižnicu regulárnych výrazov kompatibilnú s perl, a parameter „value“ je špecifikovaný s hodnotou „FALSE“, ktorá sa používa na získanie indexov prvkov. vo vektore, ktorý zodpovedá vzoru.







Pozícia vzoru „+i“ z každého reťazca vektorových znakov sa zobrazí v nasledujúcom výstupe:





Príklad 2: Priraďte vzor pomocou funkcie Gregexpr() v R

Ďalej získame pozíciu indexu spolu s dĺžkou konkrétneho reťazca v R pomocou funkcie gregexpr().





char_vec <- c('PROGRAMOVACÍ JAZYK','RSCRIPT')
gregexpr('GRAMM', char_vec, useBytes = TRUE)

Tu nastavíme premennú „char_vect“, kde sú reťazce vybavené rôznymi znakmi. Potom definujeme funkciu gregexpr(), ktorá prevezme reťazec „GRAMM“ tak, aby sa zhodoval s reťazcami, ktoré sú uložené v „char_vec“. Potom nastavíme parameter useBytes na hodnotu „TRUE“. Tento parameter naznačuje, že zhoda by sa mala dosiahnuť po bajtoch, a nie po znakoch.

Nasledujúci výstup, ktorý je získaný z funkcie gregexpr() predstavuje indexy a dĺžku oboch vektorových reťazcov:



Príklad 3: Spočítajte celkový počet znakov v reťazci pomocou funkcie Nchar() v R

Metóda nchar(), ktorú implementujeme v nasledujúcom texte, nám tiež umožňuje určiť, koľko znakov je v reťazci:

Res <- nchar('Počítajte každý znak')
tlačiť (Res)

Tu zavoláme metódu nchar(), ktorá je nastavená v premennej „Res“. Metóda nchar() obsahuje dlhý reťazec znakov, ktorý počíta metóda nchar() a poskytuje počet znakov počítadla v zadanom reťazci. Potom premennú „Res“ odovzdáme metóde print(), aby sme videli výsledky metódy nchar().

Výsledok je prijatý v nasledujúcom výstupe, ktorý ukazuje, že zadaný reťazec obsahuje 20 znakov:

Príklad 4: Extrahujte podreťazec z reťazca pomocou funkcie Substring() v R

Na extrahovanie konkrétneho podreťazca z reťazca používame metódu substring() s argumentmi „start“ a „stop“.

str <- podreťazec('RÁNO', 2, 4)
vytlačiť (str)

Tu máme premennú „str“, kde sa volá metóda substring(). Metóda substring() berie reťazec „MORNING“ ako prvý argument a hodnotu „2“ ako druhý argument, ktorý označuje, že sa má extrahovať druhý znak z reťazca, a hodnota argumentu „4“ označuje, že štvrtý znak sa má extrahovať. Metóda substring() extrahuje znaky z reťazca medzi zadanou pozíciou.

Nasledujúci výstup zobrazuje extrahovaný podreťazec, ktorý leží medzi druhou a štvrtou pozíciou v reťazci:

Príklad 5: Spojenie reťazca pomocou funkcie Paste() v R

Funkcia paste() v R sa tiež používa na manipuláciu s reťazcami, ktorá spája zadané reťazce oddelením oddeľovačov.

msg1 <- 'Obsah'
msg2 <- 'Písanie'

vložiť (msg1, msg2)

Tu špecifikujeme reťazce premenných „msg1“ a „msg2“. Potom použijeme metódu paste() z R na zreťazenie poskytnutého reťazca do jedného reťazca. Metóda paste() berie ako argument premennú strings a vracia jeden reťazec s predvolenou medzerou medzi reťazcami.

Po vykonaní metódy paste() výstup predstavuje jeden reťazec s medzerou v ňom.

Príklad 6: Upravte reťazec pomocou funkcie Substring() v R

Okrem toho môžeme tiež aktualizovať reťazec pridaním podreťazca alebo akéhokoľvek znaku do reťazca pomocou funkcie substring() pomocou nasledujúceho skriptu:

str1 <- 'Hrdinovia'
substring(str1, 5, 6) <- 'ic'

cat('    Upravený reťazec:', str1)

Reťazec „Heroes“ nastavíme v premennej „str1“. Potom nasadíme metódu substring(), kde je zadaný „str1“ spolu s hodnotami indexu „start“ a „stop“ podreťazca. Metóde substring() je priradený podreťazec „iz“, ktorý je umiestnený na pozícii, ktorá je špecifikovaná vo funkcii pre daný reťazec. Potom použijeme funkciu cat() R, ktorá predstavuje aktualizovanú hodnotu reťazca.

Výstup, ktorý zobrazuje reťazec, sa aktualizuje novým pomocou metódy substring ():

Príklad 7: Naformátujte reťazec pomocou funkcie Format() v R

Operácia manipulácie s reťazcom v R však zahŕňa aj príslušné formátovanie reťazca. Používame na to funkciu format(), kde je možné reťazec zarovnať a nastaviť šírku konkrétneho reťazca.

umiestnenie1 <- format('Programy', sirka = 10, zarovnanie = 'l')
umiestnenie2 <- format('Programy', sirka = 10, zarovnanie = 'r')
umiestnenie3 <- format('Programy', sirka = 10, zarovnanie = 'c')

tlač (umiestnenie1)
tlač (umiestnenie2)
tlač (umiestnenie3)

Tu nastavíme premennú „placement1“, ktorá je poskytovaná s metódou format(). Reťazec „programs“, ktorý sa má naformátovať, odovzdáme metóde format(). Šírka sa nastaví a zarovnanie reťazca sa nastaví doľava pomocou argumentu „zarovnať“. Podobne vytvoríme ďalšie dve premenné, „placement2“ a „placement2“, a použijeme metódu format() na príslušné formátovanie poskytnutého reťazca.

Výstup zobrazuje tri štýly formátovania pre rovnaký reťazec na nasledujúcom obrázku vrátane zarovnania vľavo, vpravo a na stred:

Príklad 8: Transformujte reťazec na malé a veľké písmená v R

Okrem toho môžeme reťazec transformovať aj na malé a veľké písmená pomocou funkcií tolower() a toupper() takto:

s1 <- 'DOBRÉ JEDLO DOBRÝ ŽIVOT'
výsledok1 <- tolower(s1)

vytlačiť (výsledok 1)

s2 <- 'Programovací jazyk r v '
výsledok2 <- vrchnák(s2)

vytlačiť (výsledok 2)

Tu uvádzame reťazec, ktorý obsahuje veľké a malé písmená. Potom sa reťazec ponechá v premennej „s1“. Potom zavoláme metódu tolower() a vložíme do nej reťazec „s1“, aby sme všetky znaky v reťazci transformovali na malé písmená. Potom vytlačíme výsledky metódy tolower(), ktorá je uložená v premennej „result1“. Ďalej do premennej „s2“ nastavíme ďalší reťazec, ktorý obsahuje všetky znaky písané malými písmenami. Na tento reťazec „s2“ aplikujeme metódu toupper() na transformáciu existujúceho reťazca na veľké písmená.

Výstup zobrazuje oba reťazce v zadanom prípade na nasledujúcom obrázku:

Záver

Naučili sme sa rôzne spôsoby, ako spravovať a analyzovať reťazce, čo sa označuje ako manipulácia s reťazcami. Z reťazca sme extrahovali polohu znaku, zreťazili sme rôzne reťazce a transformovali reťazec na zadaný prípad. Tiež sme naformátovali reťazec, upravili reťazec a vykonávajú sa tu rôzne ďalšie operácie na manipuláciu s reťazcom.