首页 > 解决方案 > 如何根据字典转换小标题列中的值

问题描述

我有一个小标题,其中一列是这样的:

ID 
AA10
AA10
AB11
CC09
CC09  

我还有一个小标题,它是一种“字典”,有 2 列。它用于将“ID”映射到“动物”:

ID     animal
AA10   dog
AB11   cat
CC09   lion

我现在想使用此映射向第一个小标题添加一列。这将导致:

ID      animal
AA10    dog
AA10    dog
AB11    cat
CC09    lion
CC09    lion

实现这一目标的最佳方法是什么?

标签: rdictionarytibble

解决方案


这里有一个解决方案dplyr

library(dplyr)

df <- tibble(id = c("AA10", "AA10", "AB11", "CC09", "CC09"))

dict <- 
  tibble(
    id = c("AA10","AB11","CC09"),
    animal = c("dog","cat","lion")
)    

df %>% 
  left_join(dict)

Joining, by = "id"
# A tibble: 5 x 2
  id    animal
  <chr> <chr> 
1 AA10  dog   
2 AA10  dog   
3 AB11  cat   
4 CC09  lion  
5 CC09  lion 

推荐阅读