У меня есть 3 столбца имен (соответствующих разным диатомовым видам). Первый столбец - это текущее имя моего вида, второй столбец - это «старый» (т. Е. Не используется) название вида, а третий - «новое» (т. Е. После таксономического обновления) название вида.Найти элементы в одном векторе и заменить их эквивалентами в другом векторе в R
Для каждого значения в первом столбце мне нужно найти его во втором столбце, и если он найден, мне нужно заменить его обновленным именем (сохраненным в третьем столбце). Так, например, учитывая эту матрицу:
Column 1 Column 2 Column 3
Achnanthes.atomus Amphora.coffeaeformis Halamphora.coffeaeformis
Achnanthes.biasolettiana Achnanthes.atomus Achnanthidium.atomus
Achnanthes.atomus найдено в колонке 1 (первая строка), должны быть идентифицированы в колонке 2 (второй строки) и заменить его новым именем «» Achnanthidium.atomus (колонка 2, второй ряд).
Моя матрица называется Diatosdef. Если я сделаю это, он работает:
colnames(Diatosdef) <- gsub("Achnanthes.atomus","Achnanthidium.atomus",colnames(Diatosdef))
Но мне нужно сделать это видовое по видам, и у меня есть почти 100 видов
Может кто-нибудь пожалуйста помочь мне?
Спасибо!
PS: Я обнаружил, что я могу сделать это в Excel с помощью функции ВПР, но я до сих пор ищет способ сделать это в R
Hi! Моя матрица называется «Diatosdef». Поэтому, если я это сделаю, он работает: colnames (Diatosdef) <- gsub («Achnanthes.atomus», «Achnanthidium.atomus», colnames (Diatosdef)). Но мне нужно делать это по видам, а у меня почти 100 видов ... – user2963185