gpt4 book ai didi

r - 在 R 中通过 grepl 合并两个数据帧

转载 作者:行者123 更新时间:2023-12-04 11:16:37 24 4
gpt4 key购买 nike

假设我有两个数据框:

df1<-data.frame(x=c("abc", "def", "ghi", NA), y=1:4)
df1
x y
1 abc 1
2 def 2
3 ghi 3
4 NA 4
df2<-data.frame(x=c("a", "i"), z=4:5)
df2
x z
1 a 4
2 i 5

我想要的是通过 grepl df2 的 x 在 df2 的 x 中合并 df1df2,这样一个期望的结果是:

df3
x y z
1 abc 1 4
2 def 2 NA
3 ghi 3 5
4 NA 4 NA

实际的数据框要大得多,似乎需要几行代码。我想知道是否有一种简单的方法。

最佳答案

这是一个在 df1.x 中搜索 df2.x 的单行代码:

library(sqldf)

sqldf("select df1.*, df2.z from df1 left join df2 on instr(df1.x, df2.x)")

给予:

     x y  z
1 abc 1 4
2 def 2 NA
3 ghi 3 5
4 <NA> 4 NA

关于r - 在 R 中通过 grepl 合并两个数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41899141/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com