按 R 中相似结果分组

2024-03-22

我想对相似的结果(不是唯一的)进行分组,但我不知道该怎么做。

我的意思是,我有一个名为“name”的列的 df,它具有类似的结果,例如:ARPO、ARPO S.L、ARPO、SL 等。

|---------------------|------------------|
|      name           |     address      |
|---------------------|------------------|
|       ARPO          |     street 1     |
|---------------------|------------------|
|       ARPO S.L      |     street 1     |
|---------------------|------------------|
|       ARPO, SL      |     street 1     |
|---------------------|------------------|
|       ARPO SL       |     street 1     |
|---------------------|------------------|
|       AAAA          |     street 2     |
|---------------------|------------------|
|       AAAAAb        |     street 2     |
|---------------------|------------------|
|       AAAAAB        |     street 2     |
|---------------------|------------------|

这个想法是建立一个像 0.8(或类似)的阈值来识别具有 80% 重合度的结果。

然后使用 dplyr 库按“相似名称”对它们进行分组,以保留每组的一个结果(行)。

library (dplyr)
groups <- df %>%
  group_by(similar_names) %>%
  summarise() %>%
  arrange(name)

我尝试了不同的选项与不同的库,如:stringr、重复、adist 等...但我没有找到一个好的解决方案。


这里我有一个输入的例子:

df <- tibble::tribble(
  ~name,       ~number,       ~ind,
  "ARPO",      "405162",      5,
  "ARPO S.L.", "504653",      22,
  "ARPOS",     "900232",      1,
  "ARPO",      "504694",      12,
  "ARPO",      "400304",      42,
  "JJJJ",      "401605",      2,
  "JJJJ",      "900029",      31,
  "BBBBB",     "400090",      25,
  "BBBBB",     "403004",      33,
  "JJJJ",      "900222",      2,
  "BBBBB",     "403967",      11,
  "BBBB",      "400304",      52,
  "JJJJ",      "404308",      200,
  "ARPO",      "403898",      2,
  "ARPO",      "158159",      24,
  "BBBBBBB",   "700805",      2,
  "ARPO S.L.", "900245",      24,
  "JJJJ",      "501486",      2,
  "JJJJ",      "400215",      210,
  "JJJJ",      "504379",      26,
  "HARPO",     "900222",      400,
  "BBBBB",     "109700",      46,
  "ARPO",      "142173",      14,
  "BBBBB",     "400586",      22,
  "ARPO",      "401605",      322
)

我在这里找到了类似的解决方案:将具有相似名称的级别组合在一起 R https://stackoverflow.com/questions/24825215/group-together-levels-with-similar-names-r

x <- df$name

groups <- list()
i <- 1
while(length(x) > 0) {

  id <- agrep(x[1], x, ignore.case = TRUE, max.distance = 0.1)
  groups[[i]] <- x[id]
  x <- x[-id]
  i <- i + 1

}

因此,从那时起,您可以创建一个组变量:

df$group <- ""

for (j in 1:length(groups)){
  df$group <- ifelse(df$name %in% groups[[j]], paste0("group_",j), df$group)
}

也许您可以找到更简单的解决方案,但这可行!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按 R 中相似结果分组 的相关文章

  • Python,将字典存储在数据库中

    在数据库中存储和检索 python 字典的最佳方法是什么 如果您对使用传统 SQL 数据库 例如 MySQL 不是特别感兴趣 您可以研究非结构化文档数据库 其中文档自然映射到 python 字典 例如MongoDB http www mon
  • R 中的点图每行有多个值

    我有以下 R 输入文件 car 1 car 2 car 3 car2 1 car2 2 car2 3 然后 我使用以下命令来绘制图表 autos data 点图 autos data V2 autos data V1 但这将每个汽车和 ca
  • 如何通过组度量的平均值在 df 内排列 dplyr:: 组?

    借鉴吴卡拉的设计https stackoverflow com a 26555424 9350837 https stackoverflow com a 26555424 9350837答案 我希望根据各个组汇总测量的平均值对分组 df 进
  • R,igraph,是否可以用图案填充顶点

    使用 R 和 igraph 绘制图形 我使用颜色来标记顶点类型 请参阅下面的代码 是否可以用图案而不是颜色填充顶点 以便在以彩色和黑白查看时可以区分节点类型 我需要 4 种独特的颜色 图案 colorbrewer 中唯一适合的调色板是这个
  • 使用 R SOAP (SSOAP) 检索数据/抓取

    在 B cycle 页面 www bcycle com whowantsitmore aspx 上 我试图抓取投票的位置和值 The URL http mapservices bcycle com bcycleservice asmx ht
  • 在ggplot2中,箱线图线的末尾代表什么?

    我找不到箱线图线条端点代表什么的描述 For example here are point values above and below where the lines end 我意识到盒子的顶部和底部是第 25 个和第 75 个百分位数
  • 如何不显示 ggplot 轴上的所有标签?

    I m trying to using ggplot2 to plot this But as you can see on the x axis you can t read anything 那么如何在 x 轴上显示每 10 年的值呢
  • 连接树状图和热图

    我有一个heatmap 一组样本的基因表达 set seed 10 mat lt matrix rnorm 24 10 mean 1 sd 2 nrow 24 ncol 10 dimnames list paste g 1 24 sep p
  • Notepad++:: 通过正则表达式完全删除包含问号的行

    嗯 我想这就是我的标题 这对于我将要实现的目标来说是不言自明的 这是我当前的文本文件的示例 Diva was the winning song of the Eurovision Song Contest 1998 Who will win
  • 基本 dyplr 函数给出错误:“check_dots_used”

    试图找出为什么我会收到此错误 以前从未见过 谷歌没有帮助 check dots used action warn 中的错误 未使用参数 action warn 我在下面的非常基本的试验中收到错误 而且在 group by count 中也收
  • R 3.5 - read.csv 无法读取 UTF-16 csv 文件

    我的代码如下 read csv http asic gov au Reports YTD 2018 RR20180420 001 SSDailyYTD csv skip 1 fileEncoding UTF 16 sep t header
  • C++11 内部 std::string 表示形式 (libstdc++)

    std string 在 c 11 libstdc 中如何内部表示 在深入研究实现时 我发现 A string looks like this Rep M length basic string
  • SQL Server 转换选择一列并将其转换为字符串

    是否可以编写一条从表中选择列并将结果转换为字符串的语句 理想情况下 我希望有逗号分隔的值 例如 假设 SELECT 语句看起来像这样 SELECT column FROM table WHERE column lt 10 结果是一列包含值的
  • R ggplot2 分面保持比率但覆盖/定义输出图大小

    我目前正在使用 ggplot2 来比较不同组的统计数据 每个组属于不同的区域 这是通过运行 R 脚本的 Web 应用程序 tikiwiki CMS 插件 R 完成的 每个区域我可以有 2 到 30 个或更多组 相同的 R 脚本针对唯一网页中
  • 将字符串存储在 constexpr 结构中

    是否可以将字符串存储在constexpr struct 到目前为止我只能想出 struct A constexpr A std string view n m name n constexpr auto name return m name
  • Java替换特定字符

    这是我在这个网站上的第一个问题 所以我会尽量不要成为一个十足的菜鸟 我目前正在用java 创建刽子手游戏 所以我问你的问题是我们是否被赋予了 幽灵 这个词 并将 Ghost 替换为 hiddenWord ghost length for i
  • 如何将 Shiny 中生成的反应图传递到 Rmarkdown 以生成动态报告

    简而言之 我希望能够通过单击按钮从我的闪亮应用程序生成动态 Rmarkdown 报告文件 pdf 或 html 为此 我想我将使用 Shiny 的参数化报告 但不知何故 我无法将单个谜题转移到所需的目标 使用此代码 我们可以在 R Shin
  • Matlab 中是否有相当于 R 的 dput() 的函数?

    Matlab 中是否有相当于 R 的 dput 的函数 dput 将 R 对象的 ASCII 文本表示形式写入文件或连接 UPDATE 1 添加了递归和对单元格的支持 UPDATE 2 添加了对结构的支持 UPDATE 3 增加了对逻辑 整
  • 从 leafletProxy() 返回渲染的传单地图

    是否可以在渲染后在 Shiny 中检索传单地图 下面是一个代码示例 展示了如何生成地图leaflet 与返回的不同leafletProxy 即使它们在渲染时看起来完全相同 是否有一个功能可能不同于leafletProxy 获取实际的 htm
  • 如何连接字符串和常量字符?

    我需要将 hello world 放入c中 我怎样才能做到这一点 string a hello const char b world const char C string a hello const char b world a b co

随机推荐

  • 初始化无符号字符的正确方法*

    正确的初始化方法是什么unsigned char 我目前正在这样做 unsigned char tempBuffer tempBuffer 或者我应该使用memset tempBuffer 0 sizeof tempBuffer 要 正确
  • 如何为我的代码启动一个线程并为 JavaFX 应用程序启动一个线程?

    我正在尝试使用 JavaFX 运行程序 如果我使用 Swing 我将有一个由 main 方法启动的类 并让它构建 GUI 类 这将为我提供 2 个线程 一个是应用程序的普通线程 另一个是 EventQueue 这将防止阻塞 UI 工作 因此
  • Rails如何使用部分匹配删除缓存键

    我正在使用 redis rails 对于缓存键 我使用一个数组 Rails cache fetch self class name translated attribute id field I18n locale do self read
  • 滚动时的 CSS3 变换

    有谁知道一个好的教程可以实现这一目标 如下所示 http www contrastrebellion com http www contrastrebellion com 我查看了该网站上使用的代码 发现提取我需要的内容很困难 非常感激 谢
  • IIS重写虚拟文件夹

    我需要在 IIS 中为以下内容创建 URL 重写规则 From http hostname virtual path folder myisapi dll a 1 b 1 To http hostname myisapi dll a 1 b
  • 以前没有发生过的访问冲突

    我正在 P 调用 Graphviz如图所示 http implicitoperator com blog 2009 12 24 rendering an in memory graphviz image with c html 当我写那篇博
  • 此 C# 代码是否会因为寄存器或缓存中的值从未写回主内存而失败?

    在本文中 http msdn microsoft com en us magazine jj883956 aspx http msdn microsoft com en us magazine jj883956 aspx 作者指出 以下代码
  • Docker compose服务无法通过服务名称进行通信

    tldr 我无法通过其服务名称与 docker 组成的服务进行通信 以便向在网络容器中运行的 api 发出请求 我有一个单页应用程序 它向 json api 发出请求 它的 Dockerfile 如下所示 FROM nginx alpine
  • hiredis Redis 库是否为异步回调创建自己的线程

    我在多线程环境中使用 Redis 并且有一个关于它如何运行的问题 我在我的 C 应用程序中使用hiredis c 库 我的问题是 如果我在触发回调时使用异步模式 回调是否会在 Redis 客户端创建的另一个线程中处理 就像创建调用的线程不会
  • 如何使用 LWUIT - J2ME 在表单元格中添加组合框?

    我想在表格单元格中添加一个组合框以提供拖放选项 LWUIT 我已经使用了这个选项 private String strCmbBox 1 2 3 4 ComboBox comboRdoBox new ComboBox strCmbBox co
  • 是否可以像音乐应用程序或 iTunesU 那样将曲目标题添加到“正在播放控件”菜单中?

    我正在创建一个播放器应用程序 我已经实现了 remoteControlReceivedWithEvent 方法 并且可以通过此按钮更改播放状态 苹果指南 https developer apple com library ios docum
  • 点击标记时如何更改默认相机行为?

    在 Google Maps for iOS SDK 版本 1 2 中 点击标记的默认行为发生了变化 发行说明称 点击标记时的默认行为已更新 还可将相机平移到标记的位置 如何恢复旧行为 即不将相机中心平移到标记的位置 将以下方法添加到您的 G
  • 实现递归 ngFor 循环时清空 ng-template 的上下文数据

    我必须显示书籍类别的层次结构树 但在渲染的 html 中没有获取任何数据 似乎有问题ngTemplateOutput语境 尝试使用隐式和显式方法设置上下文 当明确设置时 例如let list list 类别列表的第一级已呈现 但子类别仍未呈
  • msbuild,如何设置环境变量?

    我正在尝试使用项目文件 例如 vcxproj 设置环境变量 我查看了属性函数 但似乎没有这样的功能 我知道有一种方法可以检索环境变量 但找不到如何设置它 我觉得应该有办法在项目文件中设置环境变量 从 MSBuild v4 0 开始 编码任务
  • 无法在 Vuejs 2 中使用 vuetable-2 检索数据

    我是 Vuejs 2 的新手 目前正在做一个项目 我在用着vuetable 2形成一个数据表Vuejs 2 我目前面临一个问题 无法使用属性 api url vuetable 2 检索数据 但是 我可以使用 Axios 和全局 Axios
  • 使用 JS 操作 HTML 中的 SVG

    我在 html 嵌入的 svg 图像中使用 javascript 构建 svg 元素时遇到问题 我创建了两个应该完全相同的文件 但其中一个是用 js 构建的 SVG html
  • 如何让 gradle 输出每个依赖项的依赖项哈希

    我有生以来第一次看到这样的情况 gradle compileJava check在本地运行良好 但是当我尝试使用 bitbucket 管道运行相同的命令时 我得到NoSuchClassDefError I do gradle user lo
  • 使用 ADO 在 IntraWeb 上共同初始化错误

    已经询问了邪恶交换 但一如既往 这没有帮助 我今天遇到这个问题 使用 IntraWeb 创建独立的 Web 应用程序时 当我尝试在浏览器中测试应用程序的会话时 我在 IDE 中遇到此异常 第一次机会例外 价格为 7C812A6B 异常类 E
  • 仅提取特定页面中使用的 css

    假设您有一个动态生成的网站 过去和现在都有太多人参与其中 并且您现在拥有一组包含超过 20 000 行 CSS 的共享样式表 它根本没有组织 有一些基于类和 id 的选择器 但也有太多基于标签的选择器 然后假设您有 100 个通过某个控制器
  • 按 R 中相似结果分组

    我想对相似的结果 不是唯一的 进行分组 但我不知道该怎么做 我的意思是 我有一个名为 name 的列的 df 它具有类似的结果 例如 ARPO ARPO S L ARPO SL 等 name address ARPO street 1 AR