r 仅用备用表中的值替换某些表值

2023-12-05

这不是一个“查找并向下填充”的问题。

我的源数据非常适合提供我需要的所有数据,只是不是以可用的形式。最近数量的变化意味着手动调整的修复不再可行。

我有一个库存表和一个服务表。库存报告不包含服务或非库存项目的采购订单数据。服务表(自然)可以。当然,它们的形状不同。

伪编码的效果是for every inventory$Item in services$Item, replace inventory$onPO with services$onPO.

样本数据

inv <- structure(list(Item = c("10100200", "10100201", "10100202", "10100203", 
"10100204", "10100205-A", "10100206", "10100207", "10100208", 
"10100209", "10100210"), onHand = c(600L, NA, 39L, 0L, NA, NA, 
40L, 0L, 0L, 0L, 0L), demand = c(3300L, NA, 40L, 40L, NA, NA, 
70L, 126L, 10L, 10L, 250L), onPO = c(2700L, NA, 1L, 40L, NA, 
NA, 30L, 126L, 10L, 10L, 250L)), .Names = c("Item", "onHand", 
"demand", "onPO"), row.names = c(NA, -11L), class = c("data.table", 
"data.frame"))

svc <- structure(list(Item = c("10100201", "10100204", "10100205-A"), 
    `Rcv'd` = c(0L, 0L, 44L), Backordered = c(20L, 100L, 18L)), .Names = c("Item", 
"Rcv'd", "Backordered"), row.names = c(NA, -3L), class = c("data.table", 
"data.frame"))

假设你想更换NAs in onPO值来自Backordered这是一个使用的解决方案dplyr::left_join:

library(dplyr);
left_join(inv, svc) %>%
    mutate(onPO = ifelse(is.na(onPO), Backordered, onPO)) %>%
    select(-Backordered, -`Rcv'd`);
#         Item onHand demand onPO
#1    10100200    600   3300 2700
#2    10100201     NA     NA   20
#3    10100202     39     40    1
#4    10100203      0     40   40
#5    10100204     NA     NA  100
#6  10100205-A     NA     NA   18
#7    10100206     40     70   30
#8    10100207      0    126  126
#9    10100208      0     10   10
#10   10100209      0     10   10
#11   10100210      0    250  250

或者使用 R 基础的解决方案merge:

inv$onPO <- with(merge(inv, svc, all.x = TRUE), ifelse(is.na(onPO), Backordered, onPO))

或者使用coalesce代替ifelse(感谢@thelatemail):

library(dplyr);
left_join(inv, svc) %>%
    mutate(onPO = coalesce(onPO, Backordered)) %>%
    select(-Backordered, -`Rcv'd`);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

r 仅用备用表中的值替换某些表值 的相关文章

  • 在 R 中编写多重积分函数

    为了将以下内容转换为函数 我想知道如何用 R 代码编写以下二重积分 bar x mu 假设pi0 and pi1以向量化方式实现函数 pi 0 和 pi 1 可能的解决方案是 integral lt function n mu s pi0
  • 如何测试字符串中的前三个字符是r中的字母还是数字?

    下面给出了我拥有的数据集的示例 请注意 总数据集中我有超过两列 ID X 1 MJF34 2 GA249D 3 DEW235R 4 4SDFR3 5 DAS3 我想测试 X 中的前三个字符是否是字母 如果是 那么我想替换该值以仅显示前三个字
  • R + ggplot2 - 无法分配大小为 128.0 Mb 的向量

    我有一个 4 5MB 9 223 136 行 的文件 其中包含以下信息 0 0 0 0147938 3 67598e 07 0 0226194 7 35196e 07 0 0283794 1 10279e 06 0 033576 1 470
  • 如何为 nls 函数找到良好的起始值?

    我不明白为什么我不能对这些数据使用 nls 函数 我尝试过很多不同的起始值 但总是出现相同的错误 这是我一直在做的事情 expFct2 function x a b c a 1 exp x b c vec x lt c 77 87 87 7
  • 将角色分成几部分

    我观察到以下特征 l lt mod range1 seq m n 0 1 range2 seq 2 2 0 1 range3 seq 2 2 0 1 在 R 中使用正则表达式我想要拆分l在以下结构中 1 mod range1 seq m n
  • 在另一个函数中定义一个函数的优雅方式

    我想构建 f lt function g lt function x x 2 list 这样我就可以使用调用f g 4 并有list 导致list 16 一般来说我会在里面定义几个临时函数f用户在调用时可以调用f 我已经尝试过assign
  • 将 dplyr 中的starts_with与部分列名称的向量一起使用

    我想使用 dplyr 选择与字符串向量匹配的某些列 one lt seq 1 10 two lt rnorm 10 three lt runif 10 1 2 four lt 10 1 df lt data frame one two th
  • 如何合并具有相同列名的数据框

    我有一个数据框 如下所示 structure list Variables structure list ADA ADA LEAD LEAD BIG4 BIG4 LOGMKT LOGMKT LEV LEV ROA ROA ROAL ROAL
  • R:几个单独图的重新排序因子水平

    我正在尝试从同一个 data frame 创建多个单独的图 每个图的 y 轴上的因子水平顺序不同 每个图都应该对 y 上的因子水平进行递减排序 我知道这可以为每个图手动完成 但我正在寻找一种更有效和更优雅的方法 因为我需要创建相当多的图 这
  • rle 命令帮助

    我在使用 rle 命令时遇到了一些麻烦 该命令旨在找到参与者连续达到 8 个连续参与者的点 例如 如果 x lt c 0 1 0 1 1 1 1 1 1 1 1 1 我想返回值 11 感谢 DWin 我一直在使用这段代码 which rle
  • R - 对矩阵的每行/列应用具有不同参数值的函数

    我试图将函数应用于矩阵的每一行或每一列 但我需要为每一行传递不同的参数值 我以为我熟悉 lapply mapply 等 但可能还不够 举个简单的例子 gt a lt matrix 1 100 ncol 10 gt a 1 2 3 4 5 6
  • 使用 R 中“rpart”包中的生存树来预测新的观察结果

    我正在尝试使用 R 中的 rpart 包来构建生存树 并且我希望使用这棵树来对其他观察结果进行预测 我知道有很多涉及 rpart 和预测的问题 但是 我还没有找到任何解决 我认为 特定于将 rpart 与 Surv 对象一起使用的问题的方法
  • 寻找一种有效的方法来计算两个表中间隔集之间的重叠数量?

    注意 为了方便起见 我使用上一篇文章中的示例数据集 假设有两个数据集 ref and map 他们是 ref lt data table space rep nI 3 t1 c 100 300 500 t2 c 150 400 600 id
  • 无法将 bigrquery 与标准 sql 一起使用

    我正在 R ipython 笔记本 相对 R 新手 中工作 并尝试使用 bigrquery 从 Google Big Query 中提取数据 我被告知这应该很简单 但使用标准 sql 提取不起作用 这是我的代码 require bigrqu
  • 我们如何获取R中的商品价格?

    正如标题 我知道我们可以使用quantmod包来获取股票价格 但我们如何检索黄金 石油或农产品等商品价格 Use Quandl包 这里有一些例子 Gold lt Quandl LBMA GOLD WTI lt Quandl CHRIS CM
  • 滚动最小值,固定起点[重复]

    这个问题在这里已经有答案了 好的 我想计算数据框中的滚动最小值 向下滚动列 到目前为止 我无法确定该系列的起点并滚动到结尾 我努力了 mins lt c 10 5 6 10 6 6 7 8 2 12 roll min expected lt
  • 如何将xtable对象放置在页面左侧

    问题 如何将 xtable 对象放置到页面左侧或如何全局禁用居中 我正在努力弄清楚如何将 xtable 对象放置在左侧 我有一个 Rmd 文件 所有这些都转到相关的 r 块 require xtable df lt data frame x
  • 如何更改 R Markdown HTML 文档中目录的颜色和属性?

    我花了很多时间谷歌搜索这个 但似乎无法弄清楚 我正在使用 R Markdown 制作 HTML 文档 文档在这里 http rmarkdown rstudio com html document format html http rmark
  • 将一个 Rmarkdown 文档中的代码块插入到另一个 Rmarkdown 文档中

    我一直在举办一些小型 R 教程 研讨会 我将 挑战脚本 保存在 Rmarkdown 文档中 它们包含自由文本和 R 代码块 一些代码块是预先填充的 例如 为了设置数据集以供以后使用 而一些代码块则供与会者在研讨会期间填写代码 对于每个挑战脚
  • 如何创建具有特定于每个方面的标题和副标题的分面图?

    生成一个图 该图与每列的单独图相结合 带有标题和副标题 以及每个图的垂直线 我使用直方图创建了带有垂直线的列 library ggplot2 library gridExtra library tidyr actualIris lt dat

随机推荐

  • .htaccess RewriteRule 有效,但地址栏中的 URL 没有变化?

    我一直在抓着头发试图解决这个问题 但没有任何效果 我有一个网页位于mysite com test php我想做一个简单的 URL 重写并将其更改为mysite com testRewrite 实现这一点的代码应该是 Options Foll
  • 如何将包导入 Scala REPL?

    如何将包导入 Scala 的 REPL 中 我正在尝试导入这个名为 funsets 的包 它有一个名为 FunSets 的对象 我尝试了几种变体import funsets and import funsets 等等 但它仍然没有导入包中的
  • Android后台服务和警报

    最近遇到一个问题Android 4 4杀死了我的应用程序Service and AlarmManager当设备进入睡眠模式时 START STICKY参数没有帮助 我尝试了很多东西 但没有任何效果符合我的需要 在我的任务管理器应用程序中 我
  • 在 OCaml 中打破循环

    我经常需要在 OCaml 中打破循环 至少有两种方法 by exception try for i 0 to 100 do if cond then raise BreakLoop done with BreakLoop gt by whi
  • SQL 按字母顺序排序,小于 10 的数字不带前导零

    是否可以按以下方式在 mySQL 中按字母顺序排序 A1 A2 A3 A5 A10 A11 A20 A23 A24 不幸的是 我收到的订单如下所示 请注意 A10 之前的任何数字如何没有组合在一起 A1 A10 A11 A12A2 A20
  • 由于 AccessibilityNodeInfo getChild 导致出现大量 ANR

    收到大量 ANR 报告 main prio 5 tid 1 可运行 组 主 sCount 0 dsCount 0 标志 0 obj 0x72e8a568 自我 0xe65da000 sysTid 20592 好 0 cgrp 默认调度 0
  • 对 Intellij 如何编译事物和处理资源感到困惑

    我对 Visual Studio 的 IntelliJ 非常陌生 而且我通常对资源文件在 IntelliJ 项目中的工作方式感到非常困惑 我阅读了一些有关将资源添加到类路径以及 IntelliJ 文档的问题和解答 但仍然感到困惑 我还有几个
  • 在 R Markdown 中使用 pandoc 和 bookdown 删除图标题中的冒号

    我正在更改 R Markdown 中图形标题的字体并使用bookdown和 pandoc 这样做 我的问题与以下问题密切相关 如何更改bookdown中的图形标题格式 我能够获得正确的图形编号 并且能够更改标题的 图 1 部分的格式 但是
  • 是否可以从 adf 连接到 databricks deltalake 表

    我正在寻找一种能够从 ADF 和其他 Azure 服务 如数据目录 连接到 Databricks deltalake 表的方法 我没有看到 ADF 数据源中列出的 databricks 数据存储 关于类似的问题 是否可以从 Azure 数据
  • 如何从jni端调用java方法?

    我在 jni 端完成了一些 C 代码函数 并且所有工作正常 public native String getMessage 函数将字符串从 jni 端返回到 java 端 它工作正常 所有其他 jni 代码也工作正常 但问题是如何在 jni
  • 使用 Python 刷新 Excel 外部数据

    我有一个 Excel 文件 我在其上运行 Python 脚本 Excel 文件具有需要在运行 Python 脚本之前刷新的外部数据连接 我指的功能在这里 我使用的是 Python 2 7 并且依靠 Pandas 进行大部分 Excel 数据
  • 如何重命名 DataFrame 中与嵌套 JSON 对应的字段

    我正在尝试使用以下方法处理移动应用程序中收到的 JSON 事件 如点击等 spark 1 5 2 有多个应用程序版本 并且事件的结构因版本而异 假设版本 1 具有以下结构 timestamp ev app appName XYZ appVe
  • 基于数据集的SSRS多值参数过滤器

    假设我在 SSRS 中有一个名为 DataSet1 的数据集 如下所示 CREATE TABLE data ID int Value int UserID varchar 2 INSERT INTO data VALUES 1 1000 A
  • 我什么时候应该使用 Moq 的 .As 方法?

    我们到底什么时候需要使用 AsMoq提供的方法 来自快速入门文档 implementing multiple interfaces in mock var foo new Mock
  • 为什么 SQLAlchemy 使用 sqlite 插入比直接使用 sqlite3 慢 25 倍?

    为什么这个简单的测试用例使用 SQLAlchemy 插入 100 000 行比直接使用 sqlite3 驱动程序慢 25 倍 我在现实应用程序中也看到过类似的减速情况 难道我做错了什么 usr bin env python Why is S
  • cakePHP 3 查询 ifnull

    我想知道防止结果集中出现空结果的最佳方法是什么 我正在使用 cake 3 5 13 我正在使用案例 例如 private function addCase isforeign source query this gt Sales gt fi
  • 在SSIS脚本任务中激活特定的Excel工作表

    我有一个脚本任务 它打开一个 Excel 文件并将其另存为 csv 但它保存随该文件打开的工作表 而我想选择将哪个工作表另存为 csv 这是我当前正在使用的脚本 Public Sub Main Dim oMissing As Object
  • set.seed 在不同版本的 R(和 Ubuntu)上是否一致?

    我目前正在运行 R 版本 3 1 0 在 Ubuntu 12 04 LTS 上 由于我的 R 版本和操作系统都变得相当旧 我计划更新两者 然而 我有很多依赖于 set seed 的模拟 我希望它们在更新 R 和我的操作系统后仍然给我相同的随
  • 如何在 Google App Engine 中创建具有多个后代/祖先的 API 方法

    我无法理解如何构建具有多个死者的祖先树 假设我有一个这样的模型 每个实体都有一个Long id User Post Comment 哪里的Comment是的孙子User 真正烦人的是插入一个Comment我需要生成密钥Post 并生成密钥P
  • r 仅用备用表中的值替换某些表值

    这不是一个 查找并向下填充 的问题 我的源数据非常适合提供我需要的所有数据 只是不是以可用的形式 最近数量的变化意味着手动调整的修复不再可行 我有一个库存表和一个服务表 库存报告不包含服务或非库存项目的采购订单数据 服务表 自然 可以 当然