相关疑难解决方法(0)

如何制作一个很好的R可重复的例子

在与同事讨论性能,教学,发送错误报告或在邮件列表上搜索指导时,以及在Stack Overflow上,通常会询问可重复的示例并始终提供帮助.

您有什么建议创建优秀示例的提示?如何以文本格式粘贴中的数据结构?您还应该包含哪些其他信息?

在另外还有其他招数来使用dput(),dump()或structure()?你什么时候应该包括library()或require()声明?其中保留字应避免一个,此外c,df,data等?

怎样才能成为一位伟大的重复的例子?

r r-faq

2474
推荐指数
23
解决办法
28万
查看次数

在R中使用模糊/近似字符串匹配合并两个数据帧

描述

我有两个数据集,其中包含我需要合并的信息.我唯一常见的字段是不完全匹配的字符串和可能大不相同的数字字段

解释问题的唯一方法是向您显示数据.这是a.csv和b.csv.我想把B合并到A.

B中有三个字段,A中有四个字段.公司名称(仅文件A),基金名称,资产类别和资产.到目前为止,我的重点是尝试通过替换字符串的单词或部分来匹配基金名称以创建完全匹配,然后使用:

a <- read.table(file = "http://bertelsen.ca/R/a.csv",header=TRUE, sep=",", na.strings=F, strip.white=T, blank.lines.skip=F, stringsAsFactors=T) 
b <- read.table(file = "http://bertelsen.ca/R/b.csv",header=TRUE, sep=",", na.strings=F, strip.white=T, blank.lines.skip=F, stringsAsFactors=T)
merge(a,b, by="Fund.Name") 
Run Code Online (Sandbox Code Playgroud)

但是,这只会让我达到约30%的匹配率.其余的我必须手工完成.

资产是一个数值领域,在这两个领域并不总是正确的,如果基金资产较少,资产可能会有很大差异.Asset Class是一个字符串字段,在两个文件中"通常"相同,但是存在差异.

在文件B中增加了不同系列的资金.例如:

AGF加拿大价值

AGF加拿大价值-D

在这些情况下,我必须选择未经过服务的那个,或者选择名为"A"," - A"或"Advisor"的那个作为匹配.

题

你会说最好的方法是什么?这个练习是我每月必须做的事情,手动匹配它是非常耗时的.代码示例将是有用的.

IDEAS

我认为可行的一种方法是根据字符串中每个单词的第一个大写字母规范化字符串.但是我还没弄清楚如何使用R来解决这个问题.

我考虑的另一种方法是根据资产,基金名称,资产类别和公司的组合创建匹配指数.但同样,我不知道如何用R做到这一点.或者,就此而言,如果它甚至可能.

非常感谢代码,评论,想法和方向的例子!

fuzzy-search r

15
推荐指数
3
解决办法
3万
查看次数

标签 统计

r ×2

fuzzy-search ×1

r-faq ×1