tidyr의 extract

R 중급 정규 표현식

Angelo Zehr

Data Journalist

지금까지 사용한 함수

  • str_match
  • str_replace
  • str_match_all
  • str_replace_all
  • ...
R 중급 정규 표현식

정규식과 데이터 프레임의 만남:

extract(
    data,
    col,
    into,
    regex = "([[:alnum:]]+)",
    remove = TRUE,
    convert = FALSE,
    ...
 )
R 중급 정규 표현식

extract의 인자

extract(
    data,
    col,
    into,
    regex = "([[:alnum:]]+)",
    remove = TRUE,
    convert = FALSE,
    ...
 )
  • data

  • col

  • into

  • regex

  • remove

  • convert

R 중급 정규 표현식

Movies 데이터 프레임

R 중급 정규 표현식

str_match로 할 수 있는 일

테이블 스크린샷

screens_per_movie %<>%
  mutate(
    is_3d = str_match(line, "3D")
  )
R 중급 정규 표현식

str_match 결과 형태

테이블 스크린샷

screens_per_movie %<>%
  mutate(
    is_3d = str_match(line, "3D")
  )
R 중급 정규 표현식

str_match는 한 가지 정보만 매칭함

테이블 스크린샷

R 중급 정규 표현식

extract가 도와주는 것

R 중급 정규 표현식

extract가 도와주는 것

테이블 스크린샷

extract(
  screens_per_movie,
  col = "line",
  into = c("is_3d", "screens"),
  regex = "(3D).*?(\\d+)$",
  remove = FALSE
 )
R 중급 정규 표현식

extract의 결과

테이블 스크린샷

extract(
  screens_per_movie,
  col = "line",
  into = c("is_3d", "screens"),
  regex = "(3D).*?(\\d+)$",
  remove = FALSE
)
R 중급 정규 표현식

연습해 봅시다!

R 중급 정규 표현식

Preparing Video For Download...