Я много читаю на этом замечательном сайте, но на самом деле это мой самый первый вопрос. Так что терпите меня!
Я аспирант, работающий с данными по экологии (данные о численности видов из разных местностей) от разных ученых. Я хочу улучшить свое управление данными и прекратить ручное редактирование необработанных данных, а вместо этого делать все свои изменения с помощью скрипта. Таксономия видов может быть беспорядком, что означает: разные синонимы или псевдонимы для одного и того же вида. Кроме того, поскольку я использую данные разных ученых, мне приходится иметь дело с разными сокращениями видов, разным порядком столбцов, а также опечатками. Вы называете это. Теперь мне интересно, есть ли хороший способ переименовать имена моих столбцов, используя словарь псевдонимов / синонимов. Я провожу несколько часов, изучая, но не могу найти ответ, который действительно соответствует моей проблеме.
Вот небольшой пример моих данных:
df1 <- tibble(depth_cm = c(1.5:4.5), n_pachyderma_d = c(70.2:73.2), n_pachyderma_s = c(10.1:13.1), g_quinqueloba = c(2.4:5.4))
dict <- tibble(new_name = c("turborotalita_quinqueloba", "neogloboquadrina_incompta", "neogloboquadrina_pachyderma"), alias1 = c("t_quinqueloba", "neogloboquadrina_pachyderma_dextral", "globigerina_pachyderma"), alias2 = c("g_quinqueloba", "n_pachyderma_d", "n_pachyderma_s"), alias3 = c(NA, "n_incompta", "n_pachyderma"))
df1 - это мой фактический необработанный лист данных со значениями глубины и численностью различных видов.
> df1
# A tibble: 4 x 4
depth_cm n_pachyderma_d n_pachyderma_s g_quinqueloba
<dbl> <dbl> <dbl> <dbl>
1 1.5 70.2 10.1 2.4
2 2.5 71.2 11.1 3.4
3 3.5 72.2 12.1 4.4
4 4.5 73.2 13.1 5.4
И dict - мой словарь, который я хочу использовать. Имейте в виду, что псевдонимы могут быть разными для определенного вида c. Я хочу обновить этот словарь новыми псевдонимами, как только столкнусь с ними.
> dict
# A tibble: 3 x 4
new_name alias1 alias2 alias3
<chr> <chr> <chr> <chr>
1 turborotalita_quinqueloba t_quinqueloba g_quinqueloba NA
2 neogloboquadrina_incompta neogloboquadrina_pachyderma_dextral n_pachyderma_d n_incompta
3 neogloboquadrina_pachyderma globigerina_pachyderma n_pachyderma_s n_pachyderma
Теперь я хочу переименовать имена столбцов видов df1 с помощью new_name ища имя столбца в dict . Однако, так как я все еще изучаю R, у меня нет хорошей идеи, как подойти к этому вопросу. Но в основном я хочу проверить каждое название столбца с помощью словаря, а затем переименовать столбец с правильным названием вида. Есть ли разумный подход для этого? Моя главная цель - автоматизировать импорт и стандартизацию различных наборов данных.
Я с нетерпением жду каждого предложения или помощи!