мой фрейм данных выглядит примерно так
df <-
data.frame(
id = seq(1, 5, 1),
acc = c(NA_character_, "115-7981987/7121", "48415875/4874", "8740-454648484/100", "18715/7811")
)
Я бы хотел создать 3 новых столбца из столбца cc. Я ищу решение dplyr
- , если есть символ -, то получить значение до этого символа, разделить строку на / символ, но не включать в себя часть перед символом (в случае, если присутствует)
Другими словами, результат должен быть точно:
result <-
data.frame(
id = seq(1, 5, 1),
prefix = c(NA_character_, "115", NA_character_, "8740", NA_character_),
number = c(NA_character_, "7981987", "48415875", "454648484", "18715"),
code = c(NA_character_, "7121", "4874", "100", "7811")
)
Обычно я использовал бы str_split(acc, "/")
, а затем извлекал части, подобные этому map_chr(uuid, 1)
Но это не работает поскольку некоторые поля cc пусты, а некоторые не включают все символы.