[問題] 同義字轉成標準字(中文文字處理)

看板R_Language作者 (米蟲)時間5年前 (2018/10/14 16:59), 編輯推噓2(202)
留言4則, 2人參與, 5年前最新討論串1/1
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 使用者(已經有用R 做過不少作品) [問題敘述]: 我現在有個客戶購物的字串資料,這些字串有許多同義字(例如貧果 and 蘋果),我希望 能把同義字藉由我定義好的字典通通轉換成標準字。 [程式範例]: # 購物資料 data <- data.frame( "id" = seq(1, 8), "item" = c("貧果", "蘋果", "火龍果", "紅龍果", "番石榴", "珍珠拔", "馬拉巴栗 ", "發財樹") ) # 定義的字典 dict <- data.frame( "id" = seq(1, 9), "同義字" = c("貧果", "蘋果", "火龍果", "紅龍果", "芭樂", "番石榴", "珍珠拔 ", "馬拉巴栗", "發財樹"), "標準字" = c("蘋果", "蘋果", "火龍果", "火龍果", "芭樂", "芭樂", "芭樂", "發 財樹", "發財樹") ) [關鍵字]: 字串處理、文字探勘、中文轉換 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.141.140 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1539507544.A.EE8.html

10/14 20:05, 5年前 , 1F
如果是完整字串取代,就只是常見merge或join。
10/14 20:05, 1F

10/15 20:43, 5年前 , 2F
資料量不大的話用stringr::str_replace_all試試,建起來方便
10/15 20:43, 2F

10/15 20:48, 5年前 , 3F
data$標準<-str_replace_all(data$同義,"火龍|紅龍","火龍")
10/15 20:48, 3F

10/15 20:50, 5年前 , 4F
上面是把"火龍果"或"紅龍果"都換成"火龍果"再寫回dataframe
10/15 20:50, 4F
文章代碼(AID): #1RmmLOxe (R_Language)