汉字文本数据挖掘

按笔画数排序

有时候我们需要按照汉字的笔画数进行排序,这时候就可以使用tmcn包的GBK数据集,我们要用到的是第一列 (GBK) 和第六列 (Stroke_Order),Stroke_Order是笔画顺序,自然包含了总的笔画数的信息。。

if(!requireNamespace("tmcn")) install.packages("tmcn")   # 如果没有这个包则安装一下
data(GBK, package = "tmcn")                              # 加载GBK数据集
head(GBK)                                                # 可以看到,分为8列
 
BiHuaShu <-  nchar(GBK$Stroke_Order)                     # 或许每个字对应的笔画数
names(BiHuaShu) <- GBK$GBK                               # 向量每个元素对应名称,也就是汉字
head(BiHuaShu)                                           # 看看得到的向量是怎么样的
 
# 接下来我们对一个数据按照姓名第一个字的笔画数来排序,先读入示例数据:
CJ <- read.delim("ftp://ftp.biolab.wang/data/期考成绩.tsv", fileEncoding="GBK")
head(CJ)                                                 # 看看总的分为6列
 
CJ <- CJ[order(BiHuaShu[substr(CJ$姓名, 1, 1)]), ]       # substr 用于提取第一个字,
                                                         # 通过BiHuaShu的元素名取子集得到对应的笔画数
                                                         # 然后再使用order排序
head(CJ)                                                 # 可以看到,已经按顺序排好了

简繁相转

用tmcn包里的toTrad函数。


本网页已被访问次数(Times visited):3916; 最后编辑时间(Last modified): 2021/10/24 11:49