亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在R中使用模糊/近似字符串匹配合并兩個數據幀

在R中使用模糊/近似字符串匹配合并兩個數據幀

一只甜甜圈 2019-10-09 17:53:07
描述我有兩個數據集,其中包含我需要合并的信息。我僅有的常見字段是不完全匹配的字符串和可能完全不同的數字字段解釋問題的唯一方法是向您顯示數據。這是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") 但是,這只能使我達到30%的匹配率。剩下的我要手工做。資產是一個數值字段,在任何一個字段中都不總是正確的,并且如果基金的資產較低,則可能會發生巨大變化。資產類別是一個字符串字段,在兩個文件中“通常”是相同的,但是存在差異。更為復雜的是文件B中的不同系列的資金。例如:AGF加拿大價值AGF加拿大價值-D在這些情況下,我必須選擇一個不保留的匹配項,或者選擇一個稱為“ A”,“-A”或“ Advisor”的匹配項。題您說什么是最好的方法?我必須每月進行一次鍛煉,而手動進行匹配非常耗時。代碼示例將起到輔助作用。想法我認為一種可行的方法是根據字符串中每個單詞的第一個大寫字母對字符串進行規范化。但是我還無法弄清楚如何使用R實現這一目標。我考慮的另一種方法是根據資產,基金名稱,資產類別和公司的組合創建匹配索引。但是同樣,我不確定如何用R做到這一點?;蛘?,即使有可能,也是如此。代碼示例,注釋,思想和指導非常感謝!
查看完整描述

3 回答

?
慕后森

TA貢獻1802條經驗 獲得超5個贊

我也是加拿大人,認出基金名稱。


這是一個困難的過程,因為每個數據提供者都為各個基金名稱選擇自己的形式。有些使用不同的結構,例如全部以基金或類別結尾,其他到處都是。每個人似乎也都選擇自己的短格式,并且這些格式會定期更改。


這就是為什么像您這樣的許多人定期手動執行此操作的原因。一些咨詢公司會列出索引以鏈接各種資源,不確定您是否探索過該路線?


正如Shane和Marek所指出的那樣,這不僅僅是一項直截了當的工作,而是一項匹配的任務。許多公司正在為此奮斗。我正在為此工作...


查看完整回答
反對 回復 2019-10-09
  • 3 回答
  • 0 關注
  • 1823 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號