如何在R中将序数词字符串转换为序数数字字符串?
解决R语言中序数词字符串转序数数字字符串的问题
实现思路
核心是先建立序数词字符串到目标序数数字字符串的映射关系,再利用字符串批量替换工具完成转换。
具体代码实现
首先准备原向量:
ordinal_words <- c("FIRST COMPANY", "BAKERY FIFTH AVENUE", "WEST FORTIETH WAY")
- 创建替换映射表
根据需求定义命名向量,键为原字符串中的序数词,值为要替换成的目标字符串:
ordinal_map <- c( "FIRST" = "1ST", "FIFTH" = "5TH", "FORTIETH" = "40TH" )
如果需要处理更多序数词,直接在这个映射表中添加对应键值对即可。
- 批量替换字符串
使用stringr包的str_replace_all()函数完成批量替换(如果未安装该包,先执行install.packages("stringr")安装):
library(stringr) result <- str_replace_all(ordinal_words, ordinal_map)
- 查看结果
执行后输出result即可得到目标向量:
print(result) # 输出: # [1] "1ST COMPANY" "BAKERY 5TH AVENUE" "WEST 40TH WAY"
补充说明
该方法仅完成字符串层面的替换,不会将序数词转换为数值类型,完全匹配需求。
内容的提问来源于stack exchange,提问作者James Rider
相关产品推荐
相关产品推荐

