У меня есть два вектора строк, и мне нужно упорядочить один вектор путем частичного совпадения другого. Векторы выглядят так:
Итак, мне нужно взять каждый элемент первого вектора и найти его положение в names
, чтобы оба вектора были в одинаковом порядке. Например, GF1
должен быть 9th
элементом в первом векторе. Я знаю, как заказать вещи, как только заказ будет известен. Я попробовал match
функцию, но она не работает, возвращая меня NAs
:
names_order <- match(paste0(samples$groups, samples$mouse), names)
Я также пытался pmatch
, но безуспешно. Возможно, потому что match
ищет полные совпадения. Grepl
функция также не работает:
grep(paste0(paste0(samples$groups, samples$mouse), collapse = '|'), names, value = TRUE)
Возвращает только [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
, именно там находится совпадение без нужного мне порядка.
Любые предложения будут с благодарностью.