作者ardodo (米虫)
看板R_Language
标题[问题] 同义字转成标准字(中文文字处理)
时间Sun Oct 14 16:59:01 2018
[问题类型]:
程式谘询(我想用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://webptt.com/cn.aspx?n=bbs/R_Language/M.1539507544.A.EE8.html
1F:推 andrew43: 如果是完整字串取代,就只是常见merge或join。 10/14 20:05
2F:推 kial: 资料量不大的话用stringr::str_replace_all试试,建起来方便 10/15 20:43
3F:→ kial: data$标准<-str_replace_all(data$同义,"火龙|红龙","火龙") 10/15 20:48
4F:→ kial: 上面是把"火龙果"或"红龙果"都换成"火龙果"再写回dataframe 10/15 20:50