我有两个数据框。第一个是“翻译表”(df1),其中一列中有一个物种的名称,另一列中是编码的名称。 第二个数据框是一个表,其中有一列带有物种名称的列,我想创建一个新列,其编码名称与同一行的物种相对应。
df1 名称代码 Ammi-majus Amaj 金字塔形棘足 Daucus-carota Dcar 牛膝子
df2 名称 Ammi-majus 金字塔形棘 胡萝卜 胡萝卜 胡萝卜 胡萝卜 牛子 牛子 牛子
我需要这个(这是一个例子,我有更多的物种) 名称名称代码 Ammi-majus Amaj 金字塔形棘足 Daucus-carota Dcar Daucus-carota Dcar Daucus-carota Dcar Daucus-carota Dcar 牛子 牛子 牛t子Alap
感谢您的帮助, 阿德里安
答案 0 :(得分:0)
对于将来的读者来说,使用baser和dplyr函数都可以实现作者想要的结果:
baser
:merge(sp, codes, by.x="sp.name", by.y="name")
dplyr
:sp %>% left_join(codes, by=c("sp.name"="name"))
sp <- read.table(header=T, text="sp.name
Ammi-majus
Anacamptis-pyramidalis
Daucus-carota
Daucus-carota
Daucus-carota
Daucus-carota
Arctium-lappa
Arctium-lappa
Arctium-lappa")
codes <- read.table(header=T, text="name code
Ammi-majus Amaj
Anacamptis-pyramidalis Apyr
Daucus-carota Dcar
Arctium-lappa Alap")