在频率表中搜索特定单词

时间:2018-12-28 01:46:10

标签: r

我一直在努力搜索频率表中的特定单词,其中包含一堆大学和公司名称。我想将此表分为1个“大学”和2个“公司”的2个表(或列表)。为此,我正在考虑搜索“大学”,“学校”,“学院”的特定单词,并将它们全部写入称为“大学”的表(或列表)中。该表的其余条目(大概是“公司”名称)将构成名为“公司”的第二个表(或列表)

我调查了一下,发现grep(“ University”,OriginalFrequencyTable)无法正常工作。我想原因是因为grep使用字符向量而不是表(?!)

OriginalFrequencyTable: (number in front of names is frequency of occurrence)

Loyalist College 2 
Globe Inc 4
University Of Central Arkansas 3
Anderson University 2
Bridgewater State College 1
Allegheny College 1
Cs Technologies 3
Healthpartners 1

Expected result (are 2 tables named, "Universities" and "Companies"):

--------------1st table "Universities":--------------
Loyalist College 2 
University Of Central Arkansas 3
Anderson University 2
Bridgewater State College 1
Allegheny College 1

--------------2nd table "Companies":--------------
Globe Inc 4
Cs Technologies 3
Healthpartners 1

我们非常感谢您的帮助, 预先感谢,

2 个答案:

答案 0 :(得分:1)

我们可以使用split将data.frame拆分为list的{​​{1}}

data.frame

答案 1 :(得分:0)

一个基本的R选项是使用grepl并搜索关键字CollegeUniversity作为学校的标记:

Universities <- df[grepl("\\b(College|University)\\b", df$Name), ]
Companies <- df[!grepl("\\b(College|University)\\b", df$Name), ]

我不确定您的列叫什么,因为我假设存在一个Name列,其中包含公司名称和大学名称。如果该频率有一个单独的单独列,则上述解决方案仍应起作用。如果您在单列中同时包含名称和频率,也应该可以使用。