R์ ๋ด์ฅ๋์ด ์๋ ํจ์์ stringr ํจํค์ง๋ฅผ ํํ์ฌ ๋ฌธ์์ด ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณผ ๊ฒ์ด๋ค.
โก ๋ฌธ์ ์ด์ด ๋ถ์ด๊ธฐ
In:
paste('Rooney', 'Song', sep = '_')
paste0('Rooney', 'Song')
str_c('Rooney', 'Song', sep = '_')
Out:
[1] "Rooney_Song"
[1] "RooneySong"
[1] "Rooney_Song"
โท paste, paste0 ํจ์๋ ๋ ๋ฌธ์์ด์ ๋ถ์ฌ์ฃผ๋ ์ญํ ์ ํ๋ค. ๋ ํจ์์ ์ฐจ์ด์ ์ paste0 ํจ์๋ ๋ถ์ผ ๋, ์ฌ์ด์ ๋ฌธ์๋ฅผ ์ฝ์ ํ์ง ์๊ณ , ๋ฐ๋ก ๋ถ์ธ๋ค๋ ๊ฒ์ด๋ค. paste ํจ์์ sep ์ธ์๋ฅผ ํตํด ๋ ๋ฌธ์์ด์ ๋ถ์ผ ๋, ์ฌ์ด์ ๋ค์ด๊ฐ ๋ฌธ์๋ฅผ ์ง์ ํ ์ ์๋ค.
โท str_c ํจ์๋ stringr ํจํค์ง์ ํฌํจ๋ ํจ์๋ก, paste ํจ์์ ๊ฐ์ ์ญํ ์ ํ๋ค.
โก ๊ธ์ ๊ฐ์ ์ธ๊ธฐ
In:
nchar('Rooney')
str_length('Rooney')
Out:
[1] 6
[1] 6
โท nchar, str_length ํจ์๋ฅผ ํตํด ๋ฌธ์์ด์ ๋ฌธ์ ๊ฐ์๋ฅผ ํ์ธํ ์ ์๋ค. str_length ํจ์๋ stringr ํจํค์ง์ ํฌํจ๋ ํจ์์ด๋ค.
โก ์๋ฌธ์ ๋ณํ
In:
tolower('Rooney')
Out:
[1] "rooney"
โท tolower ํจ์๋ ๋ฌธ์์ด์ ํฌํจ๋ ๋ชจ๋ ๋ฌธ์๋ฅผ ์๋ฌธ์๋ก ๋ณํํ์ฌ ์ค๋ค.
โก ๋๋ฌธ์ ๋ณํ
In:
toupper('Rooney')
Out:
[1] "ROONEY"
โท toupper ํจ์๋ ๋ฌธ์์ด์ ํฌํจ๋ ๋ชจ๋ ๋ฌธ์๋ฅผ ๋๋ฌธ์๋ก ๋ณํํ์ฌ ์ค๋ค.
โก ๊ณต๋ฐฑ ์์ ๊ธฐ
In:
str_trim(' Rooney Song ')
Out:
[1] "Rooney Song"
โท stringr ํจํค์ง์ ํฌํจ๋ str_trim ํจ์๋ ๋ฌธ์์ด์ ์๊ณผ ๋ค์ ํฌํจ๋ ๊ณต๋ฐฑ์ ์ ๊ฑฐํ์ฌ ์ค๋ค.
โก ๋ถ๋ถ ์ถ์ถ
In:
substr('Rooney', 1, 3)
str_sub('Rooney', 1, 3)
Out:
[1] "Roo"
[1] "Roo"
โท substr, str_sub ํจ์๋ ๋ ๋ฒ์งธ ์ธ์ ๋ถ๋ถ์ ์์์ผ๋ก ์ธ ๋ฒ์งธ ์ธ์ ๋ถ๋ถ์ ํด๋นํ๋ ๋ถ๋ถ๋ง ์ถ์ถํ์ฌ ์ค๋ค. str_sub ํจ์๋ stringr ํจํค์ง์ ํฌํจ๋์ด ์๋ค.
โก ํน์ ์์น ๊ฐ ๋ณ๊ฒฝ
In:
char_1 = 'Rooney'
char_2 = 'Song'
substr(char_1, 1, 2) = 'SKY'
print(char_1)
str_sub(char_2, 1, 2) = 'SKY'
print(char_2)
Out:
[1] "SKoney"
[1] "SKYng"
โท substr ํจ์์ ์ถ์ถ ๋ฒ์์ ๋ค๋ฅธ ๊ฐ์ ํ ๋นํ์ฌ ํด๋น ๋ฒ์์ ๋ฌธ์๋ฅผ ๋ฐ๊ฟ ์ ์๋ค. ์ด๋, ํด๋น ๋ฒ์์ ๊ธธ์ด๋ฅผ ์ด๊ณผํ๋ ๋ฌธ์๋ ๋ฐ์๋์ง ์๋๋ค. ๋ฐ๋ฉด stringr ํจํค์ง์ ํฌํจ๋ str_sub ํจ์๋ ์ถ์ถ ๋ฒ์์ ๋ค๋ฅธ ๋ฌธ์์ด์ ํ ๋นํ์ฌ ๋ฐ๊ฟ ๋, ๋ฒ์์ ๊ธธ์ด๋ฅผ ์ด๊ณผํ๋ ๋ถ๋ถ๊น์ง ๋ฐ์๋๋ค.
โก ํน์ ํจํด ๊ธฐ์ค์ผ๋ก ์๋ฅด๊ธฐ
In:
strsplit('Rooney Song', ' ')
str_split('Rooney Song', ' ')
str_split('Rooney Song', ' ', simplify = T)
Out:
[[1]]
[1] "Rooney" "Song"
[[1]]
[1] "Rooney" "Song"
[,1] [,2]
[1,] "Rooney" "Song"
โท strsplit ํจ์๋ฅผ ํตํด ๋ ๋ฒ์งธ ์ธ์๋ก ์ฃผ์ด์ง ํจํด์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ์๋ฅผ ์ ์๋ค. stringr ํจํค์ง์ ํฌํจ๋ str_split ํจ์๋ ๊ฐ์ ์ญํ ์ ์ํํ๋ค. ์ด๋, simplify ์ธ์๋ฅผ True๋ก ์ค์ ํ ๊ฒฝ์ฐ, ๋ฆฌ์คํธ ํํ๊ฐ ์๋, ํ๋ ฌ ํํ๋ก ์ถ๋ ฅ๋๋ค.
โก ํน์ ํจํด์ด ํฌํจ๋ ๋ฌธ์์ด ์ฐพ๊ธฐ
In:
grep('o', c('Song Kiyoung', 'Pep', 'Joanna'))
grepl('o', c('Song Kiyoung', 'Pep', 'Joanna'))
Out:
[1] 1 3
[1] TRUE FALSE TRUE
โท grep ํจ์๋ ์ฒซ ๋ฒ์งธ ์ธ์์ ํด๋นํ๋ ํจํด์ ์์น๋ฅผ ์ฐพ์์ค๋ค. ๋ฐ๋ฉด, grepl ํจ์๋ ํจํด๊ณผ ์ผ์น ์ฌ๋ถ๋ฅผ ์ถ๋ ฅํ๋ค.
โก ํน์ ํจํด์ ์ฐพ์์ ๋ค๋ฅธ ํจํด์ผ๋ก ๋ฐ๊พธ๊ธฐ
In:
sub('o', 'u', 'Rooney')
gsub('o', 'u', 'Rooney')
str_replace('Rooney', 'o', 'u')
str_replace_all('Rooney', 'o', 'u')
Out:
[1] "Ruoney"
[1] "Ruuney"
[1] "Ruoney"
[1] "Ruuney"
โท sub ํจ์๋ ์ฒซ ๋ฒ์งธ ์ธ์์ ํด๋นํ๋ ํจํด์ ๋ ๋ฒ์งธ ์ธ์์ ํจํด์ผ๋ก ๋ฐ๊พธ๋ ์ญํ ์ ์ํํ๋ค. ํ์ง๋ง ์ด ๊ณผ์ ์ ํ ๋ฒ ๋ฐ์ ์ํ๋์ง ์๋๋ค. ์ฆ ๊ฐ์ฅ ๋จผ์ ํจํด๊ณผ ์ผ์นํ๋ ๋ฌธ์์ด๋ง ๋ฐ๊พธ์ด ์ค๋ค. ๋ฐ๋ฉด, gsub ํจ์๋ ํจํด๊ณผ ์ผ์นํ๋ ๋ชจ๋ ๋ฌธ์์ด์ ๋ฐ๊พผ๋ค.
โท stringr ํจํค์ง์ ํฌํจ๋ str_replace, str_replace_all ํจ์๋ sub, gsub ํจ์์ ์ญํ ๊ณผ ์ผ์นํ๋ค.
'Programming > R' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ฒฐ์ธก์น ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ (0) | 2020.10.21 |
---|---|
CSV ํ์ผ ์ฝ๊ธฐ/์ฐ๊ธฐ (0) | 2020.10.21 |
์๊ณ์ด ๋ฐ์ดํฐ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ (0) | 2020.10.20 |
tidyr ์ฌ์ฉ๋ฒ (0) | 2020.10.19 |
apply, sapply, lapply ์ฌ์ฉ๋ฒ (0) | 2020.10.19 |