gpt4 book ai didi

r - 在 R 中使用部分字符串匹配合并两个数据集

转载 作者:行者123 更新时间:2023-12-02 04:50:28 24 4
gpt4 key购买 nike

我有两个数据集 df1df2。我想通过匹配 df1$pkgdf2$name 将两者合并为一个 df。但是 df1$pkgdf2$name 中的字符串并不完全相同。我尝试使用 agrep 但没有用。将不胜感激任何帮助。

x<-agrep(df1[,2], df2[,1],ignore.case=T, value=T)
Warning message:
In agrep(df1[, 2], df2[, 1], ignore.case = T, value = T) :
argument 'pattern' has length > 1 and only the first element will be used
> x
character(0)



df1<<-data.frame(apname=c("photo eff pro", "olx", "firefox", "word search", "chrome","bbc news"),
pkg=c("bbc.mobile.news", "com.dhqsolutions", "#com.olx.olx","org.mozilla.firefox","ws.letras", "com.chrome"),
apcat=c(5,3,4,5,4,1))
df2<-data.frame(name=c("bbc.mob.news.ww", "com.dhqsolutions.enjoyphoto", "com.olx.olx","org.mozilla.firefox","ws.letras","chrome.approximated"),
tic=c(10000, 12345, 123456, 23456,9903, 12389034))

最佳答案

您将要使用 apply 函数系列之一 ( see this excellent Q&A ) 或某种类型的循环。这就是您收到警告消息的原因。考虑这个简单的例子:

vec1 <- c("Dog", "Cat", "Pony")
vec2 <- c("catty", "doggy", "fish", "ponyt")
sapply(vec1, agrep, vec2)
# Dog Cat Pony
# 2 1 4

在您的情况下,您可能希望执行如下操作:sapply(df1$pkg, agrep, df2$name)

关于r - 在 R 中使用部分字符串匹配合并两个数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29288070/

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