如何基于R中的自定义词典转换文本数据?

问题描述 投票:0回答:1

我正在根据大学/学院名称的词典来使数据集中的教育数据保持一致。如何针对字典运行代码并获得所需的输出?数据由缩写和俗称组成。

有人可以在R中提供此示例。我也愿意在python中尝试它,R只是我的偏爱。

这是我的字典的一个示例:

*University Name Dictionary
California Institute of Technology
New York University
Massachusetts Institute of Technology
Georgia Institute of Technology
Rutgers University
University of California, Berkley
University of California, Los Angeles

这是我的数据:

*Education
Cal Tech
NYU
MIT
Ga Tech
Georgia Tech
Rutgers
Berkley
UCLA

这就是我想要的:

*Education      *New Education
Cal Tech        California Institute of Technology
NYU             New York University
MIT             Massachusetts Institute of Technology
Ga Tech         Georgia Institute of Technology
Georgia Tech    Georgia Institute of Technology
Rutgers         Rutgers University
Berkley         University of California, Berkley
UCLA            University of California, Los Angeles

抱歉,如果已经有解决方案,我就是找不到。我将不胜感激。

python r nlp text-mining
1个回答
0
投票

[在这里,我假设您的数据位于两个csvs或tsvs中,例如,dataset.tsv和dictionary.tsv,并且两个表都具有“ Education”列,但只有dictionary具有“ Output”列。

library(data.table)
dataset = fread('dataset.tsv')
dictionary = fread('dictionary.tsv')
dataset1 = merge(dataset,dictionary,by.x='Education',all.x=T,all.y=F)

现在,对于数据集和字典表之间的“教育”列中的任何相同条目,数据集1在“输出”列中将具有预期值。对于dataset $ Education中在字典中不匹配的项目,输出将为NA。例如,在教育已经被完全写出的地方,将会缺少一些值,因此在您的词典中就没有。您可以通过以下方式处理这些缺失的输出值:手动检查它们,将它们添加到字典中,然后重复进行,或者将它们设置为等于Education,即

dataset1[is.na(Output),Output:=Education]
© www.soinside.com 2019 - 2024. All rights reserved.