以下是一个使用inner_join进行精确匹配和部分匹配的列的代码示例:
# 创建示例数据框
df1 <- data.frame(ID = c(1, 2, 3, 4),
Name = c("John", "Amy", "Peter", "Emily"),
Age = c(25, 30, 35, 40))
df2 <- data.frame(ID = c(1, 2, 3, 4),
Nickname = c("Johnny", "Amy Lou", "Pete", "Emma"),
Occupation = c("Engineer", "Teacher", "Doctor", "Lawyer"))
# 使用inner_join进行精确匹配
exact_match <- inner_join(df1, df2, by = "ID")
# 使用grepl函数进行部分匹配
partial_match <- inner_join(df1, df2, by = c("Name" = "Nickname"), match = "all")
# 打印结果
print(exact_match)
print(partial_match)
在上面的代码中,我们首先创建了两个示例数据框df1和df2。然后,我们使用inner_join函数进行精确匹配,通过指定by参数为"ID",将两个数据框按照ID列进行匹配。这将返回一个包含ID、Name、Age、Nickname和Occupation的新数据框exact_match。
接下来,我们使用inner_join和grepl函数进行部分匹配。通过将by参数设置为一个包含两个列的向量,我们可以将df1的Name列与df2的Nickname列进行部分匹配。我们还将match参数设置为"all",以确保所有匹配的行都包含在结果中。这将返回一个包含ID、Name、Age、Nickname和Occupation的新数据框partial_match,其中Name列和Nickname列进行了部分匹配。
最后,我们使用print函数打印出精确匹配和部分匹配的结果。