从 R 中的文本列模糊提取名称(存储在向量中)

2024-01-26

我有一些包含文本的数据,我想尝试从文本中提取公司名称。数据如下:

d <- data.frame(
  textColumn = c(
    "Apple CEO reports positive growth in Iphone sales",
    "Apple's quarterly results are expected to beat that of Intel's",
    "Microsoft is expected to release a new product which rivales Apple's Iphone which uses Intels processors",
    "Intel Corporation seeks to hire 5000 new staff",
    "Amazon enters a new market, the same as Intel"
  )
)

Data:

                                                                   textColumn
1                           Apple CEO reports positive growth in Iphone sales
2              Apple's quarterly results are expected to beat that of Intel's
3 Microsoft is expected to release a new product which rivales Apple's Iphone
4                              Intel Corporation seeks to hire 5000 new staff
5                               Amazon enters a new market, the same as Intel

在向量中我有许多公司名称。

companyNames <- c(
  "Apple Inc",
  "Intel Corp",
  "Microsoft Corporation",
  "Amazon Company"
)

Data:

[1] "Apple Inc"             "Intel Corp"            "Microsoft Corporation" "Amazon Company"  

文本中的数据不允许我准确提取公司名称,因为字符串主要包含完整的公司名称Apple Inc, Intel Corp等等,但文本数据仅指公司Apple and Intel etc.

我想使用模糊字符串提取来尝试从文本中提取公司名称,因此使用此示例的预期输出将是:

c(
  "Apple",
  "Apple | Intel",
  "Microsoft | Apple | Intel",
  "Intel",
  "Amazon | Intel"
)

Data:

[1] "Apple"                     "Apple | Intel"             "Microsoft | Apple | Intel" "Intel"                     "Amazon | Intel" 

Since Apple仅在文本数据的第一行中出现一次,而Appleand Intel两者都出现在第二行(所以我将它们分开|)。我正在调查fuzzyExtract来自fuzzywuzzyR pakage here https://rdrr.io/cran/fuzzywuzzyR/man/FuzzExtract.html但我似乎无法让它在我的样本数据上工作。


这里使用的是stringr清理公司名称,提取它们,然后将名称折叠成向量。我确信这需要您进行一些适应,但这绝对应该帮助您入门。另外,\\b正则表达式中是一个边界——它可以防止元素的部分匹配org_type。希望这可以帮助!!

library(stringr)

# Removing the organization types  you listed (e.g., Inc)
# You may also grab the first word, I chose types because it was more explicit
# but it would reqiure checking on your part (either option will)
org_type <- c("Inc", "Corp", "Corporation", "Company")

company_clean <- str_remove_all(companyNames, str_c("\\s*\\b", org_type, "\\b", collapse = "|"))

# Extracting the company name matches from the list and pasting them together
sapply(str_extract_all(d$textColumn, str_c(company_clean, collapse = "|")), paste0, collapse = " | ")
[1] "Apple"                     "Apple | Intel"             "Microsoft | Apple | Intel" "Intel"                     "Amazon | Intel"    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 R 中的文本列模糊提取名称(存储在向量中) 的相关文章

  • 在shiny中过滤传单地图数据

    我在用传单地图设置这个闪亮的东西时遇到了麻烦 我的原帖 https stackoverflow com questions 50111566 applying leaflet map bounds to filter data within
  • 在 R 中向散点图添加线条

    如何向图表添加线条 我做了以下 dat lt data frame xvar 1 20 rnorm 20 sd 10 yvar 1 20 rnorm 20 sd 10 zvar 1 20 rnorm 20 sd 10 plot dat 1
  • R - Plm 和 lm - 固定效应

    我有一个平衡面板数据集 df 本质上由三个变量组成 A B and Y 对于一堆独特识别的区域来说 它会随着时间的推移而变化 我想运行一个回归 其中包括区域 下面等式中的区域 和时间 年份 固定效应 如果我没记错的话 我可以通过不同的方式来
  • 纵向序列数据的三次样条方法?

    我有一个串行数据 格式如下 time milk Animal ID 30 25 6 1 31 27 2 1 32 24 4 1 33 17 4 1 34 33 6 1 35 25 4 1 33 29 4 2 34 25 4 2 35 24
  • 使用 pracma::findpeaks 识别持续峰值

    我的语法有问题peakpat内的选项findpeaks内的函数pramcaR 包 v 2 1 1 我使用的是 R 3 4 3 x64 Windows 我希望该函数能够识别可能有两个重复值的峰值 并且我相信该选项peakpat这就是我能做到的
  • 选择 R 中的数据表中隐藏时(在绿色加号下方)列的显示顺序

    Context 使用 DataTables 库制作交互式表格时 当屏幕宽度对于列的数量和宽度来说太窄时 列将隐藏在绿色 号下 我有一个非常宽的表格 有 20 多列 其中一些内容非常冗长 因此某些列在所有屏幕宽度下总是隐藏的 每次隐藏新列时
  • 时间戳半小时窗口内字段的平均值

    我的数据框有列名Timestamp es看起来像 Timestamp es 2015 04 01 09 07 42 31 2015 04 01 09 08 01 29 5 2015 04 01 09 15 03 18 5 2015 04 0
  • 如何使用 usmap 标记数字而不是名称?

    我知道 usmap 有一个选项label in plot usmap 我想标记一些数字 而不是状态名称 我想 usmap 中应该有与州质心坐标相关的数据 但我不知道如何找到它 如果我能得到 坐标然后我可以用它来标记数字geom text 这
  • R 中的快速 QR 分解

    我有大量矩阵 需要对其执行 QR 分解并存储生成的 Q 矩阵 进行归一化 以便 R 矩阵在其对角线上具有正数 除了使用之外还有其他方法吗qr 功能 这是工作示例 system time Parameters for the matrix t
  • pyomo + 网状错误 6 句柄无效

    我正在尝试运行pyomo优化 我收到错误消息 Error 6 The handle is invalid 不知道如何解释它 环顾四周似乎与特权有关 但我不太明白 在下面找到完整的错误跟踪以及重现它的玩具示例 完整的错误跟踪 py run f
  • R 中的列乘以子字符串

    假设我有一个数据框 其中包含多个组件及其在多个列中列出的属性 并且我想对这些列运行多个函数 我的方法是尝试将其基于每个列标题中的子字符串 但我无法弄清楚如何做到这一点 下面是数据框的示例 Basket F Type 1 F Qty 1 F
  • 如何从 R keras 中的类似生成器的数据中评估()和预测()

    我有以下代码 数据集可以下载here https www dropbox com s qjt5o31oyqj10m8 data tar gz dl 0 or here https www kaggle com c dogs vs cats
  • 为什么 R 更新后 sim_slopes() 中会出现此错误?

    我正在尝试使用 交互 包来创建简单斜率的约翰逊 尼曼图 但是 当尝试运行 sim slopes 函数时 出现以下错误 直到我将R更新到4 2 2 我才没有遇到这个问题 我使用的是 macOS Ventura 13 1 Error class
  • ggplot2:如何标记事件发生的日期

    我想从第二个情节中获取第一个情节的信息 第二张图表示事件发生的天数 它看起来更宽 因为它没有图例 但它是相同的时间尺度 我选择在第一个图中手动分配颜色 I would like to overlay the second plot dots
  • 以编程方式将字符串宽度值插入到 sprintf() 中

    我正在尝试以编程方式将字符串宽度值插入到sprintf 格式 期望的结果是 sprintf 20s hello 1 hello 但我想插入20在同一通话中即时进行 因此它可以是任何号码 我努力了 sprintf ds 20 hello 1
  • SPSS 中的标准化残差与 R rstandard(lm()) 不匹配

    在寻找 R 相关解决方案时 我发现 R 和 SPSS 版本 24 在计算简单线性模型中的标准化残差方面存在一些不一致 看来SPSS所谓的标准化残差匹配 R学生化残差 我完全不认为某处存在软件错误 但显然这两个程序之间存在差异 看看这个例子
  • 使用 template.docx 从 Shiny App 编织 Word 文档

    我正在尝试使用 template docx 文件从闪亮的应用程序编写一个 Word 文档 我收到以下错误消息 pandoc exe template docx openBinaryFile 不存在 没有这样的文件或目录 以下 3 个文件当前
  • 如何绘制具有显着性水平的箱线图?

    前段时间问了一个关于绘制箱线图的问题Link1 https stackoverflow com questions 14604439 plot multiple boxplot in one graph 我有一些包含 3 个不同组 或标签
  • Shiny:动态数据框构建; renderUI、观察、reactiveValues

    我认为如何使用 Shiny 的 renderUI 功能动态子集数据的问题经常出现 但我很难理解何时使用 renderUI 带有 uiOutput 而不是其他功能 包括观察 反应 反应值甚至条件面板 我想构建一个完全交互式的数据框架 其中每个
  • 无法更改 RStudio 中的 R 版本

    我的 RStudio V 0 99 491 无法更改 R 版本 我以平常的方式行事Global Options gt R Version 然后它挂起并且不再工作或反应 R 运行良好的初始版本是R 3 1 0 我以前从未遇到过这样的问题 也许

随机推荐

  • 我们可以在 SQL 语句中同时使用 SUM 和 Max 函数吗?

    我有以下要求 CODE Marks A 50 A 50 B 60 B 60 C 20 C 20 现在 我想编写一个查询来显示最高得分手的代码和分数 在这个例子中是B和120 如何用SQL编写它 标准SQL SELECT Code MAX S
  • 让码头以正确的时区登录

    我正在使用 Jetty 8 并配置 jetty xml 来自定义 requests log 文件 我的问题是 Jetty 正在提供带有 GMT 时区时间戳的日志 我在英国 但现在是夏令时 GMT 1 又名 BST 大概是因为
  • 将drawableLeft与按钮的文本对齐

    这是我的布局 我面临的问题是可绘制复选标记 我将如何将其与文本对齐 两者都在按钮内居中 这是 XML
  • 在 ggplot2 中绘制一系列填充六边形

    我正在尝试在 ggplot2 中创建填充六边形 以六边形间隔的晶格为中心的多边形 的镶嵌 我已经使用 plot 命令完成了此操作 但正在努力将其转换为 ggplot 这是设置的代码 Generate a lattice of points
  • Firebase:Google api 密钥限制不起作用

    Firebase 在 Google API 控制台上为我创建了一个 API 密钥 我在那里添加了一个限制 使其只能由具有特定包名称和指纹的 Android 应用程序使用 不过 我仍然可以使用具有不同包名称的密钥 我更改了 Gradle 的应
  • 夜巡 - 使用 chromedriver

    所以我在堆栈上看到了类似的问题here https stackoverflow com questions 27601103 launch tests in chrome with nightwatchjs on mac os connec
  • 拆分逗号分隔值并将它们映射到 SQLite 中的原始 ID

    我有一张桌子叫articles包含以下格式的数据 id categories 1 123 13 43 2 1 3 15 3 9 17 44 18 3 出于测试目的 您可以使用以下 SQL 命令创建此表 CREATE TABLE articl
  • gen/R.java 应该在 Android Studio 项目中的哪里创建?

    我不知道我的项目中是否存在该文件夹 我已经执行了我的应用程序 但我在我的项目中找不到这个文件夹 它通常位于哪里 构建项目后 android studio 将自动为您的项目创建 R java 您可以在以下位置找到它 your app name
  • 将 IIS Web 应用程序发布到网站根目录?

    我正在尝试使用 Web 部署将 Web 应用程序导入 IIS7 我使用 Visual Studio 的 发布 Web 功能将其打包成 ZIP 文件 当我选择 zip 时 我会进入 应用程序包信息 屏幕 它要求我进行的设置之一是 应用程序路径
  • 从db到css文件?

    我在数据库表中有一小部分 css 项目 我需要将其转换为 css 文件以包含在页面上 我怎样才能在 Rails3 中做到这一点 有没有办法可以直接从 stylesheet link 标记调用它 我是否需要通过一些 ruby 来打开文件并将其
  • 如何修复模块“tensorflow”没有属性“get_default_session”

    请帮忙解决这个问题 我使用 ImageAI 来检测汽车 但它不起作用 我是这方面的新手 抱歉 from imageai Detection import ObjectDetection import os execution path os
  • PDFKit - PDFPageOverlayViewProvider 与 PKCanvasView 不转发触摸事件 - WWDC22 会话 10089

    我正在尝试利用PDFPageOverlayViewProvider的议定书PDFView类在PDFKitiOS 16 引入的框架 用于显示PencilKit PKCanvasView位于 PDF 文档之上 以便用户可以在 PDF 上绘制内容
  • 应用类和属性选择器

    我想设置这个元素的样式
  • 在 Docker 容器中运行旧的 Linux 版本?

    我有一个二进制应用程序 无法在 Feisty 之后的 Ubuntu 版本上运行 是否可以构建包含 Feisty 的 Docker 映像并在我的现代系统上运行它 我将添加比评论中允许的更多细节 这些是我用来获取在 Docker 0 7 1 容
  • 在 Windows 10 上安装 PyPotrace

    我想在我的 Windows 10 计算机上安装 Potrace 并将其与 python 2 7 5 一起使用 我正在按照该网站的安装说明进行操作 https pypi python org pypi pypotrace https pypi
  • C# TextWriter 每 1024 个字符插入换行符

    我正在使用文本编写器将数据写入文本文件 但如果该行超过 1024 个字符 则会插入换行符 这对我来说是一个问题 关于如何解决此问题或增加字符限制有什么建议吗 textWriter WriteLine strOutput 非常感谢 使用 Wr
  • 将对象传递给节点错误类返回不可访问的对象

    我要返回一个Error对象 我向其传递一个对象 而不是简单的消息 if err return myCallback new Error error code sample machine readable code error messag
  • MySQL php使用另一列获取列(使用用户名获取密码)

    成功验证数据库中存在用户名后 我需要验证密码是否也匹配 因此 我需要从数据库中检索哈希密码 对吗 或者我还有其他选择吗 我使用 PHP 5 5 API bcrypt 进行哈希处理 当我从数据库获取密码时 我的代码会给我一个 500 内部服务
  • JavaScript 中“{ }”的含义

    给变量赋值是什么意思 意思是 这是将其初始化为函数吗 我的 javascript 文件中有这样的代码 GLGE Wavefront function uid GLGE Assets registerAsset this uid this m
  • 从 R 中的文本列模糊提取名称(存储在向量中)

    我有一些包含文本的数据 我想尝试从文本中提取公司名称 数据如下 d lt data frame textColumn c Apple CEO reports positive growth in Iphone sales Apple s q