R 在频率表中搜索特定单词

R 在频率表中搜索特定单词,r,R,我一直在努力在频率表中搜索特定的单词,其中包含了大量的大学和公司名称。我想把这个表分成两个表(或列表),一个是“大学”,另一个是“公司”。为了做到这一点,我正在考虑搜索“大学”、“学校”、“学院”的特定单词,并将它们全部写入名为“大学”的表格(或列表)。表中的其余条目(可能是“公司”名称)将构成第二个名为“公司”的表(或列表) 我调查了一下,发现grep(“University”,原名为frequencytable)不是;不起作用。我想原因是grep使用的是字符向量,而不是表(?) 非常感谢您的

我一直在努力在频率表中搜索特定的单词,其中包含了大量的大学和公司名称。我想把这个表分成两个表(或列表),一个是“大学”,另一个是“公司”。为了做到这一点,我正在考虑搜索“大学”、“学校”、“学院”的特定单词,并将它们全部写入名为“大学”的表格(或列表)。表中的其余条目(可能是“公司”名称)将构成第二个名为“公司”的表(或列表)

我调查了一下,发现grep(“University”,原名为frequencytable)不是;不起作用。我想原因是grep使用的是字符向量,而不是表(?)

非常感谢您的帮助,
首先非常感谢,

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

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

Universities我们可以使用
split
将data.frame拆分为
data.frame的
列表

library(stringr)
lst1 <- split(df, str_detect(df$Name, "\\b(College|University)\\b"))
库(stringr)

lst1我经常发现在R.Biegeleise中,数据帧允许更好的数据操作。非常感谢您回答我的问题。如果我不够清楚,我向你道歉。我有一个“频率表”(请看我的文章标题),并期待2表。我认为您的解决方案对于包含大学和公司名称的专栏来说非常有效。更准确地说,我有
表(df$Name)
,这是您在我最初的帖子/问题描述中看到的表。我所期望的是通过关键字过滤的两个表(作为学校的标记),所以我感兴趣的是大学和公司的名称,并且在名称前面有一个频率,即
表(df$Name)
。我的答案已经在做了,至少在我测试代码时是这样。您只需将原始数据帧子集即可生成两个新的数据帧。嗨,蒂姆,非常感谢您的及时回复。这是我的问题。一旦我把你的代码行<代码>公司等等…你是说你想把名字和频率作为单独的列吗?这就是问题所在吗?我想从原始频率表中得到两个单独的表。一个用于“公司”,另一个用于“大学”。当我为您生成代码行(生成两个子集,称为大学和公司),然后对每个子集运行table()命令时,我得到的是频率表(对于每个子集),其中对于大学子集,我看到频率(出现次数,例如2 3 1…)大学名称为“0”,公司名称为“0”。谢谢你的提示。我正在处理一个“频率表”。你能详细说明一下如何过滤这样一个表的条目吗?提前谢谢。@Riccardo这是一个
对象吗?请检查
str(df)进行确认
Yes,
CompanyUniversity@Riccardo Try
dat我这样做了..它说:“seq_len(ncols)中的错误:参数必须强制为非负整数”
library(stringr)
lst1 <- split(df, str_detect(df$Name, "\\b(College|University)\\b"))