У меня есть «main_df» в соответствии с этим, где каждое имя colno состоит из кода unqiue url:
main_df <- tibble("eW1BRoUDV4BKQMl" = c("word", "word", "word", "word", "word"),
"5zKTGwHlwlzpssB" = c("word", "word", "word", "word", "word"),
"55SVfoQudZJNCFT" = c("word", "word", "word", "word", "word"),
"bOORR1zuKYSnAe9" = c("word", "word", "word", "word", "word"),
"6RrOQfDZim81pHv" = c("word", "word", "word", "word", "word"))
# A tibble: 5 x 5
eW1BRoUDV4BKQMl `5zKTGwHlwlzpssB` `55SVfoQudZJNCFT` bOORR1zuKYSnAe9 `6RrOQfDZim81pHv`
<chr> <chr> <chr> <chr> <chr>
1 word word word word word
2 word word word word word
3 word word word word word
4 word word word word word
5 word word word word word
У меня также есть второй «reference_df», который также содержит те же уникальные URL, вместе с соответствующим им понятным именем "item":
reference_df <- tibble(item = c("ashtray", "bell", "blouse", "boot", "bottle"),
url = c("eW1BRoUDV4BKQMl", "5zKTGwHlwlzpssB", "55SVfoQudZJNCFT", "bOORR1zuKYSnAe9", "6RrOQfDZim81pHv"))
# A tibble: 5 x 2
item url
<chr> <chr>
1 ashtray eW1BRoUDV4BKQMl
2 bell 5zKTGwHlwlzpssB
3 blouse 55SVfoQudZJNCFT
4 boot bOORR1zuKYSnAe9
5 bottle 6RrOQfDZim81pHv
Мне нужно сопоставить имена "main_df" со значениями в "reference_df $ url", и, если найдено, заменить имя "main_df" с "reference_df $ item". Поэтому желаемый результат моего "main_df" будет:
# A tibble: 5 x 5
ashtray bell blouse boot bottle
<chr> <chr> <chr> <chr> <chr>
1 word word word word word
2 word word word word word
3 word word word word word
4 word word word word word
5 word word word word word
. Я мог бы, вероятно, сделать это с помощью для l oop, но мне было интересно, есть ли способ обойти это. Было бы предпочтительнее решение по принципу Tidyverse - я почти уверен, что должен использовать apply или map_df (), но я просто не могу понять это.
Любая помощь будет высоко ценится!