library(tidyverse)
data <- tribble(
~Case, ~Distance, ~Metric,
"*jsalidjsalj; 10 KM daskdsadok; 73 saujdhuj", NA, NA,
"*dskfnsldfn sadjidisaj 500 - 550 M wqldl", NA, NA
)
data
#> # A tibble: 2 x 3
#> Case Distance Metric
#> <chr> <lgl> <lgl>
#> 1 *jsalidjsalj; 10 KM daskdsadok; 73 saujdhuj NA NA
#> 2 *dskfnsldfn sadjidisaj 500 - 550 M wqldl NA NA
to_numeric <- . %>%
str_extract("[0-9]+") %>%
as.numeric()
data %>%
mutate(
Distance = ifelse(is.na(Distance), str_extract(Case, "[0-9 -]+ K?M") %>% to_numeric(), Distance),
Metric = ifelse(is.na(Metric), str_extract(Case, "K?M"), Metric)
)
#> # A tibble: 2 x 3
#> Case Distance Metric
#> <chr> <dbl> <chr>
#> 1 *jsalidjsalj; 10 KM daskdsadok; 73 saujdhuj 10 KM
#> 2 *dskfnsldfn sadjidisaj 500 - 550 M wqldl 500 M
由reprex package (v2.0.1) 于 2021 年 11 月 12 日创建