【发布时间】:2022-06-11 21:23:31
【问题描述】:
我有两个要合并的数据框
a<- data.frame(x=c(1,4,6,8,1,6,7,2),ID=c("132","14.","732","2..","132","14.","732","2.."),year=c(1,1,1,1,2,2,2,2))
b<- data.frame(y=c(2,7,5,5,1,1,2,3),ID=c("132","144","732","290","132","144","732","290"),year=c(1,1,1,1,2,2,2,2))
我想用来合并两个数据框的 ID 变量在数据集 a 中并不完全已知。我也想按年合并。它们被称为完全识别的正则表达式。请注意, 是一对一的匹配。在此示例中,您将不会在数据集中找到 ID“1..”,因此不存在模棱两可的匹配项。
我想得到这样的东西:
output<-data.frame(y=c(2,7,5,5,1,1,2,3),x=c(1,4,6,8,1,6,7,2),ID=c("132","144","732","290","132","144","732","290"), year=c(1,1,1,1,2,2,2,2))
我尝试使用 substr 删除正则表达式部分,然后在合并中使用starts_with,但它不起作用。
我收到以下错误消息
Coercing pattern to a plain character vector
当我这样做时:
df_complete <- regex_inner_join(b,a, by=c("ID","year"))
谢谢堆栈溢出...
【问题讨论】: