6.5 stringr
자세히 살펴볼 마지막 tidyverse
패키지는 문자열 작업에 도움이 될 것이다. 이 데이터 유형은 단순한 숫자보다 더 복잡할 수 있기 때문에 문자열로 작업하는 것은 까다롭다. stringr
에는 패턴 감지, 문자열 분할 그리고 문자열 결합을 돕는 함수들이 포함되어 있다.
stringr
함수는 자체적으로 사용할 수 있지만, filter
와 mutate
등의 dplyr
동사와 함께 사용할 수도 있다. 예를 들어 race
열에 “All
”문자 패턴을 포함하는 레코드를 필터링하려면 다음과 같이 필터 동사에 str_detect
를 사용한다.
%>%
expectancy filter(str_detect(race, "All"))
## # A tibble: 357 x 5
## year race sex life_expectancy death_rate
## <dbl> <chr> <chr> <dbl> <dbl>
## 1 1900 All Races Both Sexes 47.3 2518
## 2 1901 All Races Both Sexes 49.1 2473.
## 3 1902 All Races Both Sexes 51.5 2301.
## 4 1903 All Races Both Sexes 50.5 2379
## 5 1904 All Races Both Sexes 47.6 2502.
## 6 1905 All Races Both Sexes 48.7 2424.
## 7 1906 All Races Both Sexes 48.7 2399
## 8 1907 All Races Both Sexes 47.6 2494.
## 9 1908 All Races Both Sexes 51.1 2299.
## 10 1909 All Races Both Sexes 52.1 2249.
## # ... with 347 more rows
str_replace
를 사용하여 한 패턴의 문자를 다른 패턴으로 바꿀 수도 있다. race
열의 “All Races
” 항목을 “Most Races
”로 변경하려면 다음과 같이 하면 된다.
<- expectancy %>%
expectancy mutate(race = str_replace(race, "All", "Most"))
문자열 작업에 도움이 되는 많은 stringr
함수가 있다. 대부분은 base
R 함수와 함께 작동하는 단순히 래퍼이다. stringr
의 가치는 주로 일관된 인터페이스를 제공한다는 점이다. 각 함수는 첫 번째 인수로 입력 문자열을 가지므로 magrittr
파이프 연산자와 함께 작동할 수 있다.