在 R 中找到 2 个整数的最长匹配

2024-04-10

我有 2 个包含数字的列表,我需要将一个列表的值与另一个列表的值进行匹配。匹配必须根据数字的开头进行。它必须返回可能的最长匹配的 row_id。

lookup value: 12345678

find_list:
a   1
b   12
c   123
d   124
e   125
f   1234
g   1235

在此示例中,我们将进行匹配a,b,c,f并且 R 必须返回f. Since f是最长的,因此也是最好的匹配。

我现在已经使用了startsWithR 中的函数。从这个答案中我选择最长的值。但问题是名单太大了。我有 1850 万个查找值和 300,000 个可能值find_list一段时间后,R 崩溃了。

有没有更聪明的方法来做到这一点?


find_list$X[which.max(sapply(find_list$find_list, function(myX)
    attr(gregexpr(myX, lookup_value)[[1]], "match.length")))]
#[1] "f"

DATA

find_list = structure(list(X = c("a", "b", "c", "d", "e", "f", "g"), find_list = c(1L, 
12L, 123L, 124L, 125L, 1234L, 1235L)), .Names = c("X", "find_list"
), class = "data.frame", row.names = c(NA, -7L))

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

在 R 中找到 2 个整数的最长匹配 的相关文章

  • XTS to.weekly 返回不同的每周端点

    我有一个问题endpoints 函数于xts 还有to weekly函数 使用端点 有时返回星期五作为周末 有时返回星期一 我的数据集叫做sp2 gt head sp2 1 2012 01 09 1 78 2012 01 10 1 78 2
  • 更改 RMarkdown 中的块背景颜色

    我希望某个代码块以不同的颜色 例如红色 突出显示 以表明这是不好的做法 如果我使用的是 Rnw 我可以添加块选项background red 并得到我想要的 但这似乎不起作用 Rmd 我的猜测是 我需要制作一个自定义 css 样式表 尽管我
  • 在 OS X 10.7.4 上安装 RSRuby 时找不到库

    我正在尝试在我的 Mac 上安装 RSRuby 调用后 sudo gem install rsruby 我收到此错误 ERROR Cannot find the R library aborting extconf rb failed Co
  • R xts:毫秒索引

    如何创建索引包含毫秒的 xts 对象 我在 POSIXlt 帮助页面中找不到任何格式规范 但有一个参考 https stackoverflow com questions 4295407 display time index in r xt
  • 如何让 geom_vline 尊重facet_wrap?

    我四处搜寻 但无法找到答案 我想做一个加权 geom bar 图 上面覆盖有一条垂直线 显示每个方面的总体加权平均值 我无法让这件事发生 垂直线似乎是应用于所有方面的单一值 require ggplot2 require plyr data
  • R模糊字符串匹配根据匹配的字符串返回特定列

    我有两个大型数据集 一个大约有 50 万条记录 另一个大约有 7 万条记录 这些数据集有地址 我想匹配较小数据集中的任何地址是否存在于大数据集中 正如您所想象的那样 地址可以用不同的方式和不同的情况 拼写等来书写 此外 如果只写到建筑物级别
  • 在 tidycensus 中使用 purrr() 而不是 lapply 任意城市/县对?

    我有一个巨大的 lapply 正在运行来下载数据文件 但看起来很笨拙 但 mapply 似乎不对 因为我不想要所有州 县的组合 我听说过关于 map 的好消息 任何人都可以提供一个示例 说明如何在以下代码中使用 purrr 命令 map l
  • 用整数矩阵对 data.frame 进行子集化

    我一直遇到这个问题 想知道是否有一个简单的解决方法 对于某些情况 我发现考虑将矩阵子集化更合乎逻辑 N lt 12 N NA lt 6 dat lt data frame V1 runif N V2 runif N sel mat lt m
  • 带频率图的 R 热图类型图

    I am trying to create a plot like the following 我已经使用 ggplot2 中的 geom tile 粗略地得到了左侧图 但我无法弄清楚如何生成右侧图以及如何将两个图放在一起 Example
  • 使用 Visual Studio 构建 R 包 (C API)

    我正在尝试使用 Visual Studio 构建一个简单的 R 包 这是我的代码 include
  • Leaflet Map - 第二个多边形使第一层不可点击

    我正在制作美国社区调查数据地图 目前我有一个主要层 如下所示plotMerge incomePerCapita 它运作良好 有一个完全充实的弹出窗口 图像等等 当我添加第二层以提供县和地区边界时 区域边界变得不可单击 似乎被新层掩盖了 如果
  • R2WinBUGS - 使用模拟数据进行逻辑回归

    我只是想知道是否有人有一些使用 R2WinBUGS 包来运行逻辑回归的 R 代码 理想情况下使用模拟数据来生成 真相 和两个连续协变量 Thanks 基督教 PS 生成人工数据 一维情况 并通过 r2winbugs 运行 winbugs 的
  • 使用 R 中绘制的标准误差创建条形图

    我试图找到在 R 中创建条形图并显示标准错误的最佳方法 我看过其他文章 但我无法弄清楚与我自己的数据一起使用的代码 之前没有使用过 ggplot 这似乎是最常用的方法 而 barplot 不与数据框合作 我需要在两种情况下使用它 我为此创建
  • R 中的优化函数可以接受目标、梯度和粗麻布吗?

    我有一个想要优化的复杂目标函数 优化问题需要相当长的时间来优化 幸运的是 我确实有可用的函数的梯度和粗麻布 R 中是否有一个优化包可以接受所有这三个输入 optim 类不接受 Hessian 矩阵 我已经扫描了用于优化的 CRAN 任务页面
  • 如何将美国人口普查局的州级形状文件合并为全国性形状

    人口普查局不提供全国范围内公共使用微数据区域的形状文件 美国社区调查中可用的最小地理区域 我尝试用几种不同的方法将它们结合起来 但即使是消除重复标识符的方法一旦到达加利福尼亚州也会崩溃 我是在做一些愚蠢的事情还是需要一个困难的解决方法 下面
  • 计算分组序列中两个值之间的差异

    这是这篇文章的后续问题 循环遍历 R 中的数据帧并测量两个值之间的时间差 https stackoverflow com questions 44885856 loop through dataframe in r and measure
  • 不使用apply函数对data.table的每一行进行操作的方法

    我在下面写了一个简单的函数 mcs lt function v ifelse sum diff sort v gt 6 gt 0 NA sd v 它应该采用一个向量 对其进行排序 然后检查每个连续差异中是否存在大于 6 的差异 如果差值大于
  • R 中多类分类的 ROC 曲线

    我有一个包含 6 个类别的数据集 我想绘制多类别分类的 ROC 曲线 Achim Zeileis 给出的第一个答案非常好 R中使用rpart包的ROC曲线 https stackoverflow com questions 30818188
  • R:如何添加具有从矩阵的每一行中随机选择的值的列?

    我会先说我是一个 R 菜鸟 我认为这可能有一个简单的解决方案 但我正在努力寻找它 我有一个 2 列 1 000 行的矩阵 保持行固定 我想创建一个新变量 从两列中随机选择一个元素 例如制作一个简单的矩阵 matrix c 1 1 4 6 1
  • dplyr :过滤一系列行(在一列中)

    虚拟数据框 id family lt c 1 1 2 2 3 3 people lt c male female male female male children dataset lt data frame id family peopl

随机推荐