Я читаю в файлах, отправленных кем-то другим.Файлы имеют общую структуру, но они противоречивы.Я пытаюсь взять имена файлов, обработать их с помощью dplyr и создать новые имена файлов, которые соответствуют моему собственному навязанному стандарту.
Обрезкой всегда будет «Кукуруза», которую я пытался использовать в качестве своего якоря для решения, является ли имя файла в стиле фанк.Я пробовал использовать отдельные операторы gsub, grepl и ifelse, но все они неуклюжи и не совсем работают.Я новичок в dplyr (и stackoverflow), и мне нужно некоторое руководство.Спасибо за помощь!
Примеры имен файлов
dat <- tibble(filename = c("2017.Ames-Corn-early.out",
"2017.Cobs-Corn.out",
"2017.MuscCorn_lowN.out"))
Первая попытка:
dat %>%
# Separate, it is inconsistent, needs work
separate(filename, into = c("year", "site", "crop", "trt", "other"))
Желаемая структура в виде таблицы:
dat2 <- tribble(
~year, ~ site, ~crop, ~trt,
2017, "Ames", "Corn", "early",
2017, "Cobs", "Corn", NA,
2017, "Musc", "Corn", "lowN")
dat2