Kaip analizuoti tekstinius duomenis R: manipuliavimo eilutėmis pagrindai

Kaip Analizuoti Tekstinius Duomenis R Manipuliavimo Eilutemis Pagrindai



Stygos yra antras pagal populiarumą duomenų tipas programuojant R, o manipuliavimas eilutėmis yra esminė R užduotis. Stygų manipuliavimo operaciją R sudaro kelios funkcijos, skirtos naudoti ir keisti tekstinius duomenis, įskaitant eilučių keitimą ir analizavimą. Šiame straipsnyje mes pasinersime į keletą funkcijų, kurios mums padeda manipuliuoti eilutėmis. Šios funkcijos yra integruotos R ir naudojamos įvairiems tikslams atlikti eilutės užduotis.

1 pavyzdys: gaukite šablono padėtį iš eilutės naudodami funkciją Grep() R

Norint ištraukti nurodyto šablono vietą iš eilutės, naudojama R funkcija grep().

grep('i+', c('pataisyti', 'padalyti', 'kukurūzai n', 'dažai'), perl=TRUE, value=FALSE)

Čia mes naudojame grep() funkciją, kur „+i“ modelis nurodomas kaip argumentas, kuris turi būti suderintas su eilučių vektoriumi. Mes nustatome simbolių vektorius, kuriuose yra keturios eilutės. Po to mes nustatome argumentą „perl“ su reikšme TRUE, kuri rodo, kad R naudoja su perl suderinamą reguliariųjų reiškinių biblioteką, o parametras „value“ nurodomas reikšme „FALSE“, kuri naudojama elementų indeksams gauti. vektoriuje, atitinkančiame modelį.







„+i“ modelio padėtis iš kiekvienos vektoriaus simbolių eilutės rodoma šioje išvestyje:





2 pavyzdys: suderinkite šabloną naudodami funkciją Gregexpr() R

Tada mes gauname rodyklės padėtį kartu su konkrečios eilutės ilgiu R, naudodami funkciją gregexpr ().





char_vec <- c('PROGRAMAVIMO KALBA','RSCRIPT')
gregexpr ('GRAMM', char_vec, useBytes = TRUE)

Čia nustatome „char_vect“ kintamąjį, kur eilutės pateikiamos su skirtingais simboliais. Po to apibrėžiame funkciją gregexpr (), kuri paima „GRAMM“ eilutės šabloną, kad jis būtų suderintas su eilutėmis, saugomomis „char_vec“. Tada nustatome parametrą useBytes su „TRUE“ reikšme. Šis parametras rodo, kad suderinimas turėtų būti atliekamas po baito, o ne po ženklą.

Ši išvestis, gaunama iš funkcijos gregexpr(), parodo abiejų vektorinių eilučių indeksus ir ilgį:



3 pavyzdys: suskaičiuokite visą simbolių skaičių eilutėje naudodami funkciją Nchar() R

nchar() metodas, kurį įgyvendiname toliau, taip pat leidžia mums nustatyti, kiek simbolių yra eilutėje:

Res <- nchar('Suskaičiuokite kiekvieną simbolį')
spausdinti (res.)

Čia mes vadiname nchar () metodą, kuris yra nustatytas kintamajame „Res“. Metodas nchar() pateikiamas su ilga simbolių eilute, kuri skaičiuojama naudojant nchar() metodą ir pateikia skaitiklio simbolių skaičių nurodytoje eilutėje. Tada kintamąjį „Res“ perduodame print () metodui, kad pamatytume metodo „nchar“ rezultatus.

Rezultatas gaunamas šioje išvestyje, kuri rodo, kad nurodytoje eilutėje yra 20 simbolių:

4 pavyzdys: ištraukite eilutę iš eilutės naudodami funkciją Substring() R

Naudojame substring() metodą su „start“ ir „stop“ argumentais, kad ištrauktume konkrečią eilutę iš eilutės.

str <- substring('RYTAS', 2, 4)
spausdinti (str)

Čia turime „str“ kintamąjį, kuriame iškviečiamas substring () metodas. Substring() metodas naudoja eilutę „RYTO“ kaip pirmąjį argumentą, o reikšmę „2“ kaip antrąjį argumentą, kuris rodo, kad antrasis eilutės simbolis turi būti išgautas, o argumento „4“ reikšmė rodo, kad ketvirtasis simbolis turi būti išgautas. Substring() metodas ištraukia simbolius iš eilutės tarp nurodytos padėties.

Šioje išvestyje rodoma ištraukta poeilutė, esanti tarp antros ir ketvirtos eilutės pozicijų:

5 pavyzdys: sujunkite eilutę naudodami funkciją Paste() R

Funkcija paste () R taip pat naudojama manipuliuoti eilutėmis, kurios sujungia nurodytas eilutes, atskirdamos skiriamuosius ženklus.

msg1 <- 'Turinys'
msg2 <- 'Rašymas'

įklijuoti (1, msg2)

Čia nurodome atitinkamai „msg1“ ir „msg2“ kintamųjų eilutes. Tada mes naudojame R metodą paste (), kad pateiktą eilutę sujungtume į vieną eilutę. Metodas paste() paima eilučių kintamąjį kaip argumentą ir grąžina vieną eilutę su numatytuoju tarpu tarp eilučių.

Vykdant paste() metodą, išvestis parodo vieną eilutę su joje esančia vieta.

6 pavyzdys: modifikuokite eilutę naudodami funkciją Substring() R

Be to, mes taip pat galime atnaujinti eilutę, įtraukdami poeilelę arba bet kurį simbolį į eilutę naudodami funkciją substring() naudodami šį scenarijų:

str1 <- 'Herojai'
poeilutė(str1, 5, 6) <- 'ic'

cat('    Modifikuota eilutė:', str1)

Mes nustatome eilutę „Heroes“ kintamajame „str1“. Tada mes įdiegiame substring() metodą, kur nurodomas 'str1' kartu su poeilutės 'start' ir 'stop' indekso reikšmėmis. Metodas substring() priskiriamas poeilutei „iz“, kuri dedama toje vietoje, kuri nurodyta nurodytos eilutės funkcijoje. Po to naudojame R funkciją cat (), kuri reiškia atnaujintą eilutės reikšmę.

Išvestis, kurioje rodoma eilutė, atnaujinama nauju, naudojant substring () metodą:

7 pavyzdys: Formatuokite eilutę naudodami Format() funkciją R

Tačiau manipuliavimo eilutėmis operacija R taip pat apima atitinkamą eilutės formatavimą. Tam naudojame format() funkciją, kur eilutę galima išlygiuoti ir nustatyti konkrečios eilutės plotį.

placement1 <- format('Programos', plotis = 10, išlyginti = 'l')
placement2 <- format('Programos', plotis = 10, išlyginti = 'r')
placement3 <- format('Programos', plotis = 10, išlyginti = 'c')

spausdinti (1 vieta)
spausdinti (2 vieta)
spausdinti (3 vieta)

Čia nustatome kintamąjį „placement1“, kuris pateikiamas naudojant format() metodą. Formatuojamą eilutę „programos“ perduodame format() metodui. Nustatomas plotis, o eilutės lygiavimas nustatomas į kairę, naudojant argumentą „pateisinti“. Panašiai sukuriame dar du kintamuosius „placement2“ ir „placement2“ ir taikome format() metodą, kad atitinkamai suformatuotume pateiktą eilutę.

Išvestis rodo tris tos pačios eilutės formatavimo stilius kitame paveikslėlyje, įskaitant lygiavimą kairėje, dešinėje ir centre:

8 pavyzdys: paverskite eilutę į mažąsias ir didžiąsias raides R

Be to, eilutę taip pat galime paversti mažosiomis ir didžiosiomis raidėmis naudodami tolower() ir toupper() funkcijas taip:

s1 <- „GERAS MAISTAS GERAS GYVENIMAS“
1 rezultatas <- mažesnis(s1)

spausdinti(1 rezultatas)

s2 <- 'R programavimo kalba'
2 rezultatas <- toupper(s2)

spausdinti (2 rezultatas)

Čia pateikiame eilutę, kurioje yra didžiosios ir mažosios raidės. Po to eilutė laikoma „s1“ kintamajame. Tada iškviečiame metodą tolower () ir perduodame jo viduje eilutę „s1“, kad visi eilutės viduje esantys simboliai būtų paverčiami mažosiomis raidėmis. Tada atspausdiname metodo tolower () rezultatus, kurie saugomi kintamajame „result1“. Tada kintamajame „s2“ nustatome kitą eilutę, kurioje yra visi simboliai mažosiomis raidėmis. Šiai „s2“ eilutei taikome metodą toupper(), kad esamą eilutę paverstume didžiosiomis raidėmis.

Išvestis rodo abi eilutes nurodytu atveju šiame paveikslėlyje:

Išvada

Išmokome įvairių būdų valdyti ir analizuoti eilutes, kurios vadinamos manipuliavimu eilutėmis. Mes ištraukėme simbolio padėtį iš eilutės, sujungėme skirtingas eilutes ir transformavome eilutę į nurodytą raidę. Be to, suformatavome eilutę, modifikavome eilutę ir čia atliekamos įvairios kitos operacijos eilutei valdyti.