2
我有两个数据框,每个都包含标识符。生成一个循环来匹配ID的
df1 <- data.frame(ID = c(20001, 20001, 20003, 20003, 20003, 20003))
df2 <- data.frame(ID = c(20001, 20001, 20003, 20003, 20003, 20005),
Type = c('N1', 'N2', 'N3', 'N4', 'N5', 'N6'))
我想在df1中创建第二列,其值为df2 $键入匹配的ID。这是我查找值
df1$Add <- df2$Type[match(df1$ID, df2$ID)]
然而,使用这种匹配方法将获得第一ID匹配,带来了相应的值给我这样
ID Add
20001 N1
20001 N1
20003 N3
20003 N3
20003 N3
20003 N3
相反,我会的东西通常的方法喜欢为每个重复的ID带来'下一个'类型值,基本上是在一个循环上。理想情况下,我想遵循输出。
ID Add
20001 N1
20001 N2
20003 N3
20003 N4
20003 N5
20003 N3
我认为它会需要一些使用可能用户定义函数的lapply。
我去了dplyr解决方案,因为它已经被加载的代码之前的块。大量使用mutate,感谢您的帮助。 –