tidyr:s extract

Reguljära uttryck på mellannivå i R

Angelo Zehr

Data Journalist

Funktioner vi använt hittills

  • str_match
  • str_replace
  • str_match_all
  • str_replace_all
  • ...
Reguljära uttryck på mellannivå i R

Där reguljära uttryck och dataramar möts:

extract(
    data,
    col,
    into,
    regex = "([[:alnum:]]+)",
    remove = TRUE,
    convert = FALSE,
    ...
 )
Reguljära uttryck på mellannivå i R

Argumenten i extract

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

  • col

  • into

  • regex

  • remove

  • convert

Reguljära uttryck på mellannivå i R

Dataramen movies

Reguljära uttryck på mellannivå i R

Vad str_match kan göra

skärmbild av en tabell

screens_per_movie %<>%
  mutate(
    is_3d = str_match(line, "3D")
  )
Reguljära uttryck på mellannivå i R

Resultatet av str_match

skärmbild av en tabell

screens_per_movie %<>%
  mutate(
    is_3d = str_match(line, "3D")
  )
Reguljära uttryck på mellannivå i R

str_match kan bara matcha en uppgift

skärmbild av en tabell

Reguljära uttryck på mellannivå i R

Det här kan extract göra åt oss

Reguljära uttryck på mellannivå i R

Det här kan extract göra åt oss

skärmbild av en tabell

extract(
  screens_per_movie,
  col = "line",
  into = c("is_3d", "screens"),
  regex = "(3D).*?(\\d+)$",
  remove = FALSE
 )
Reguljära uttryck på mellannivå i R

Resultatet av extract

skärmbild av en tabell

extract(
  screens_per_movie,
  col = "line",
  into = c("is_3d", "screens"),
  regex = "(3D).*?(\\d+)$",
  remove = FALSE
)
Reguljära uttryck på mellannivå i R

Nu kör vi en övning!

Reguljära uttryck på mellannivå i R

Preparing Video For Download...