如何在 dbplyr 中使用自定义 SQL 函数?

2024-06-28

我想计算数据库中的 Jaro-Winkler 字符串距离。如果我将数据带入 R(使用collect)我可以轻松地使用stringdist函数从stringdist包裹。

但我的数据非常大,我想过滤 Jaro-Winkler 距离before将数据拉入 R 中。

有 Jaro-Winkler 的 SQL 代码(https://androidaddicted.wordpress.com/2010/06/01/jaro-winkler-sql-code/ https://androidaddicted.wordpress.com/2010/06/01/jaro-winkler-sql-code/和一个版本T-SQL https://gist.github.com/paulirwin/dcfa49700fb7b290705007ca37d66494)但我想我不确定如何最好地使用 SQL 代码dbplyr。我很高兴尝试绘制地图stringdistJaro-Winkler 的功能sql代码,但我不知道从哪里开始。但即使是更简单的事情,例如直接从 R 对远程数据执行 SQL 代码,也会很棒。

我本来希望SQL翻译 http://dbplyr.tidyverse.org/articles/sql-translation.html in the dbplyr文档可能会有所帮助,但我不这么认为。


您可以在 R 中构建自己的 SQL 函数。它们只需生成一个有效 SQL 查询的字符串。我不知道 Jaro-Winkler 距离,但我可以提供一个示例供您构建:

union_all = function(table_a,table_b, list_of_columns){
  # extract database connection
  connection = table_a$src$con

  sql_query = build_sql(con = connection,
                      sql_render(table_a),
                      "\nUNION ALL\n",
                      sql_render(table_b)
  )

  return(tbl(connection, sql(sql_query)))
}

unioned_table = union_all(table_1, table_2, c("who", "where", "when"))

这里的两个关键命令是:

  • sql_render,它采用 dbplyr 表并返回生成它的 SQL 代码
  • build_sql,它从字符串组装查询。

您可以选择执行命令:

  • tbl(connection, sql(sql_query))将返回结果表
  • dbExecute(db_connection, as.character(sql_query))将执行查询而不返回结果(对于删除表、创建索引等很有用)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 dbplyr 中使用自定义 SQL 函数? 的相关文章

  • 使用 cmd 和 R 配置 databricks

    我正在尝试使用 databricks cli 并调用 databricks 配置 这就是我从 cmd 执行此操作的方法 somepath gt databricks configure token Databricks Host shoul
  • dplyr 通过评估查找单元格值来改变特定列

    我已经使用定额 符号和求值探索了各种选项 但我似乎无法获得正确的语法 这是一个示例数据框 data frame A letters 1 4 B letters 26 23 C letters c 1 3 5 7 D letters c 2
  • 在 R 中组合/合并列

    我可能在这个问题上遗漏了一些很容易的东西 我在任何地方都找不到正确的答案 我真的需要继续前进 所以我过度简化了我的数据 eventID lt c 2 4 Time lt c 09 32 09 43 df1 lt data frame eve
  • R 绘制一些 unicode 字符,但不绘制其他字符

    我们的系统管理员刚刚将我们的操作系统升级到 SLES12SP1 我重新安装了 Rv3 2 3 并尝试绘图 我用cairo pdf并尝试绘制 x 标签为的图 u0298即太阳能符号 但它不起作用 标签只是空白 例如 cairo pdf Rpl
  • R 中的离散化

    有谁知道有一个包可以实现连续变量离散化的监督学习算法 dprep 包包含类似的功能 但该包已被弃用 有任何想法吗 感谢您的帮助 您仍然可以使用dprep包 但你必须从源代码安装它 我刚刚测试过 它运行良好 不过 您或许可以看看离散化 htt
  • R ggplot结合颜色图例和不同因子长度的填充

    我正在使用不完整因子设计的数据绘制图表 由于设计的原因 我的颜色手动比例和填充手动比例的长度不同 因此 我得到了两个传说 我怎样才能删除其中之一或者更好地将它们组合起来 我看过这些问题 合并单独的大小并填充 ggplot 中的图例 http
  • 从谷歌街道地址中提取城市和州信息

    我有一个数据集 其中包含不同点位置的纬度 经度信息 我想知道与每个点关联的城市和州 按照此example https stackoverflow com questions 22911642 applying revgeocode to a
  • R 矩阵到犰狳的转换非常慢

    观察 对于中等大小的矩阵 将矩阵从 R 传递到 C 的开销要慢得多arma mat类型比NumericMatrix类型 大约需要 250 倍的时间 这是一个最小的例子 include
  • R 中带有自定义字段类的参考类?

    我想在另一个引用类中使用自定义引用类 但此代码失败 nameClass lt setRefClass nameClass fields list first character last character methods list ini
  • 在 R 中提取栅格的最快方法(提高我的可重现代码的时间)

    我想知道我是否已最大化提取栅格中某个点周围缓冲区域平均值的速度 本地的性能可以进一步提高吗 I use parallel mclapply已经 我知道我可以通过在集群上设置和运行它来获得进一步的收益 使用集群或获得更多的CPU不是我正在寻找
  • 数据框中的动物园滞后差异

    我想将滞后差异的结果放回到我的数据框中 这意味着我将拥有针对不同滞后的领先 NA 我在用 new df lag1 lt diff new df Close lag 1 differences 1 arithmetic TRUE na pad
  • 是否有一个 R 函数可以获取 n 个对象取 k P(n,k) 的排列数?

    或者我必须给予 P nk lt factorial n factorial n k or P nk lt choose n k factorial k 谢谢 我不知道任何现有的功能 如果 n 较大 您的第一个建议将会失败 当编写为函数时 你
  • 张量流:RStudio 中的 [NOT FOUND] 错误

    我尝试在中运行以下代码RStudio library tensorflow x data lt runif 100 min 0 max 1 y data lt x data 0 1 0 3 W lt tf Variable tf rando
  • 在 RStudio 中自动格式化 R 代码

    RStudio 中是否有自动格式化代码的可能性 I found this https stackoverflow com questions 3017877 tool to auto format r code 但未与RStudio连接 还
  • 从数据框中提取具有最高值和最低值的行

    我对 R 还很陌生 我主要用它来可视化统计数据ggplot2图书馆 现在我遇到了数据准备的问题 我需要编写一个函数 该函数将从数据框中删除指定列中具有最高和最低值的一些数字 2 5 或 10 行 并将它们放入另一个数据框中 并对两个因素的每
  • 使用 R 的 qdap 包估计文档极性,无需使用 sendSplit

    我想申请qdap s polarity函数对文档向量进行处理 每个文档可以包含多个句子 并获得每个文档相应的极性 例如 library qdap polarity DATA state all polarity Results 1 0 81
  • 升级到 Mac OSX 10.10 后,从 R 控制台运行系统命令无法找到已安装的程序

    我一直有一些奇怪的问题 https stackoverflow com questions 26477679 texi2dvi error when compiling tex files using rstudio and knitr s
  • R 代码编程:在堆叠排序表上先向下填充缺失列值,然后向上填充

    我有一个包含 3 列的数据框 但第三列有一些缺失值 需要用以下逻辑填充 期望的结果是第三列 部分 上没有缺失值 要填充它 我们必须找到第一个 周 其中为该特定 项目 第一列 填充了 部分 值 并且然后通过向下复制 part 来填充它 直到找
  • 在 R 中创建多维 NetCDF

    我正在尝试使用 R 包创建多维 NetCDF 文件ncdf http cran r project org web packages ncdf index html 我正在对一组 1500 个点进行气候日常观测 每个点的观测数量约为 182
  • 使Sweave + RweaveHTML将所有图形放在指定文件夹中

    作为细化这个问题 https stackoverflow com questions 4674567 how to make sweave copy generated graphics to a subfolder 有谁知道如何告诉 Sw

随机推荐

  • Flash 和 HTTP 状态代码 207

    让 flash 识别有效的 HTTP 响应代码 207 时遇到一些问题 奇怪的是 到目前为止 这似乎只发生在 FireFox 中 在 Chrome 中工作得很好 这是生成以下错误的代码 它似乎在 FlashBug 中返回 0 的 HTTP
  • 如何从任何页面的 javascript 访问 google chrome 扩展

    我试图弄清楚如何从普通网页调用我的分机 我找到的所有文档似乎都是用于扩展之间或内容脚本和扩展之间的通信 非常感谢任何指点 我认为您应该制作一个内容脚本 将一个对象注入到调用您的扩展的页面中 创建一个内容脚本 将 YourExt js 注入每
  • ng-grid cellTemplate 不适用于包含的 CUSTOM_FILTERS

    当在列定义中包含 cellTemplate 时 如果该 cellTemplate 包含 CUSTOM FILTERS 则会导致 Angular 呕吐 错误 语法错误 标记 CUSTOM FILTERS 是从 CUSTOM FILTERS 开
  • Matlab交换

    我正在尝试创建一个函数 将矩阵中的特定数字与同一矩阵中的特定数字交换 例如 如果我从 A 1 2 3 1 3 2 开始 我希望能够创建 B 2 1 3 2 3 1 只需告诉 matlab 将 1 与 2 交换即可 任何意见 将不胜感激 谢谢
  • Air 2 ServerSocket跨域问题

    我希望通过 ServerSocket 类创建一个 Air 2 服务器 您将在下面的代码中找到有关它的示例 限制条件 服务器必须在空中 客户端必须通过网络浏览器显示 客户端使用Web浏览器显示 因此当客户端想要与Air服务器建立连接时 Fla
  • backbone.js 集合未正确删除视图中的项目

    在视图中 我在从模型内的集合中删除项目时遇到一些问题 基本上模型 集合结构如下 基本上 当我尝试从子项目视图中的子项目集合中删除项目时 它实际上会从集合中删除正确的项目 然而 当我坚持主模型时 该项目似乎仍在集合中 这就是我的观点的结构 主
  • 尽管已成功,但由于“实例不可用”,GAE 推迟了任务重试

    在我们的 GAE 应用程序中 我们偶尔会在延迟任务中看到 TombstonedTaskError 错误 因为命名任务使用相同的名称多次提交 尽管延迟任务的第一次执行成功 但 GAE 似乎偶尔会自动重新提交这些任务 一个例子可以在这个日志截图
  • 重写的方法仍然被调用

    我正在使用一个正在实现的库belongs to数据库中两个条目之间的关联 由于这不是我需要的行为 我想通过重写此方法prepend 但 pry 告诉我 原来的方法仍然被调用 我仔细检查了一下 我使用的是 ruby 2 0 前置的代码 mod
  • 结构化流式自定义重复数据删除

    我有一个从 kafka 进入 dataFrame 的流数据 我想根据 Id 删除重复项并根据时间戳保留最新记录 样本数据是这样的 Id Name count timestamp 1 Vikas 20 2018 09 19T10 10 10
  • 在 Rails 中捕获 UTM 参数

    我正在尝试捕获 URL 中的 UTM 参数 以将源 营销活动等添加到用户帐户 可悲的是 我似乎不知道如何捕获这些参数 据我所知 我正在关注博客文章http www matthuggins com articles tracking new
  • 如何以 dp 值设置 Layoutparams 高度/宽度?

    我尝试在按钮中手动设置高度 宽度 但它不起作用 然后实现Layoutparams 但尺寸显示很小并且没有获得所需的 dp 值 XML
  • 如何检测 itextSharp 中的表开头?

    我正在尝试将 pdf 转换为 csv 文件 pdf 文件具有表格格式的数据 第一行作为标题 我已经达到了可以从单元格中提取文本 比较表格中文本的基线并检测换行符的水平 但我需要比较表格边框来检测表格的开头 我不知道如何检测和比较 PDF 中
  • Html 电子邮件对齐文本和图像

    I m having trouble aligning an image with text The problem only occurs in outlook 03 07 10 See this picture to get a bet
  • Spring Boot / Kafka Json 反序列化 - 可信包

    我刚刚开始将 Kafka 与 Spring Boot 一起使用 并且想要发送和使用 JSON 对象 当我尝试使用 Kafka 主题中的消息时 出现以下错误 org apache kafka common errors Serializati
  • “在文件中查找”的替代方法

    我已经按照建议解决了 在文件中查找不是 问题here https stackoverflow com questions 4795443 visual studio 2010 find in files not finding files并
  • 从文件中删除字符

    如何删除文件中的任意字符 而不是用某些字符替换 include
  • 将隐藏的 DIV 保存为画布图像

    我使用以下代码将可见内容保存为图像 html2canvas document querySelector specific onrendered function canvas theCanvas canvas Canvas2Image s
  • 使 WTForms 从数据库模型设置字段标签

    我有三张桌子 成分 属性 and 属性值 每个组件可以有多个属性值 Each 属性值属于一个属性 是的 这就是可怕的 EAV 模式 我创建了这两种形式 class AttributeValueForm Form attribute Hidd
  • 如何使文本框上的自动完成功能在空时显示建议

    我在文本框 实际上是 ToolStripTextBox 上使用 AutoComplete 属性 这工作正常 只是直到我至少输入一个字符才显示 即使文本框为空 如何才能显示建议 Mode Suggest Source CustomSource
  • 如何在 dbplyr 中使用自定义 SQL 函数?

    我想计算数据库中的 Jaro Winkler 字符串距离 如果我将数据带入 R 使用collect 我可以轻松地使用stringdist函数从stringdist包裹 但我的数据非常大 我想过滤 Jaro Winkler 距离before将