1)我有一个名为“ UBER”的事务文件
2)我还有一个“目标” df,我需要将其总数与“ UBER”总数相匹配
3)我需要找到Target和UBER之间的区别(〜Target-UBER)
4)然后将差异覆盖到UBER,这将使UBER = Target

UBER的数据-交易文件

UBER <- data.frame(
    Cube = c("UBER", "UBER", "UBER", "UBER"),
 Country = c("AU", "AU", "AU", "AU"),
 Product = c("0001", "0001", "0001", "0001"),
     LOB = c("xxx", "xxx", "xxx", "xxx"),
  Mth_Yr = 1:4,
 Revenue = c(5, 5, 5, 5)
    )

目标df应该是

Target <- data.frame(
    Cube = c("Target", "Target", "Target", "Target"),
 Country = c("AU", "AU", "AU", "AU"),
 Product = c("0001", "0001", "0001", "0001"),
     LOB = c("xxx", "xxx", "xxx", "xxx"),
  Mth_Yr = 1:4,
 Revenue = c(10, 10, 10, 10)
      )

我建立了一个函数来帮助我进行分析:

target_less_uber <- function(df){

  target <- df %>% #as.data.frame() %>%
        filter(Cube == "Target") %>%
        select(Revenue) %>% as.numeric()

  uber  <- df %>% #as.data.frame() %>%
        filter(Cube == "UBER") %>%
        select(Revenue) %>% as.numeric()      

  output <- data.frame(Overlay = target - uber)

  return(output)

}

这是我尝试过的-不起作用

 library(dplyr) library(purrr) ALL <- rbind(Target, UBER) ALL %>% nest(Cube, Revenue) %>% transmute(Country, Product, LOB, Mth_Yr, res = map(data, target_less_uber) %>% unnest 

任何帮助建议都将受到高度赞赏。

#1楼 票数:1 已采纳

我对nest()命令不是很熟悉,因此无法在那里对您的代码进行故障排除,但是以下代码对我有用:

inner_join(UBER %>% select(-Cube) %>% rename(UBER = Revenue),
           Target %>% select(-Cube) %>% rename(Target = Revenue)) %>%
  mutate(overlay = Target - UBER) %>%
  select(-UBER, -Target)

  ask by cephalopod translate from so

未解决问题?本站智能推荐:

2回复

通过基于R中的邮政编码等分行来创建两个数据集

我有一个包含客户代码、客户姓名和邮政编码的数据集。 数据集有 149130 行。 我想将它平均分成两个数据集(每行 74565 行)并导出到 excel 中。 但是,我想确保如果一个邮政编码有两个客户 - 一个转到 dataset1,另一个转到 dataset2。 其余的可以是随机选择的客户。 我是
1回复

在dplyr/purrr工作流中动态连接多个数据集

我有两个不同年份的两个列表,其中包含多个数据框: 它们看起来非常相似,如下所示: 我需要对两个列表中的每个元素的“答案”类别进行完全连接。 它应该看起来像这样,但是对于列表中的每个数据集,结果也应该是一个数据框列表。 这是我每年一个元素的代码: 任何人都可以帮助我实现这一目标吗? 谢谢 :)
1回复

如何使用dplyr从两个组中成对计算列

我有这种形状的数据集。 我想做的是对所有成对的列应用两个参数的摘要函数,以保持数据的分组性质。 因此,例如 会返回类似的内容(我实际上并不打算计算该函数的值,我只需要输入“ x”以指示该统计信息将到达何处,但是对于每个group-ab组合它当然会有所不同)。 评论者要求提供一些样
2回复

使用R/dplyr中的字典/列表协调数据集*列类型*(格式)

在重命名请求#67453183 之后,我想对使用字典的格式执行相同的操作,因为它不会将不同类型的列组合在一起。 我有一系列数据集和一本字典来将这些组合在一起。 但我正在努力弄清楚如何实现自动化。 > 假设这个数据和字典(实际的要长得多,因此我想自动化): 我希望将这些数据集(来自 A 年
1回复

您将如何使用tidyverse从过去的表演中计算出下一个获胜者的数量

接下来的获胜者是一起参加特定比赛(RaceA)的比赛参赛者,在那场比赛之后,每个参赛者参加另一场比赛,RaceB(i)。 RaceB(i) 代表 RaceA 的每个参赛者接下来参加的下一场比赛。 RaceB(i) 对于每个参赛者来说可以不同或相同(不要求是同一场比赛。) Next Out Wi
2回复

使用Purrr和Dplyr在多个数据帧之间重新编码相似因子水平

以下是两个简单的数据框。 我想重新编码(折叠) Sat1和Sat2列,以便所有满意程度都简单地编码为Satisfied ,所有不满意程度都编码为Dissatisfied 。 中性将保持为中性。 因此,这些因素将具有三个级别- Satisfied, Dissatisfied, and Neu
1回复

使用purrr迭代两个列表,然后跨数据帧列表通过管道将其插入dplyr::filter

这是问题的继续:“使用Purrr迭代两个列表,然后通过管道传递到Dplyr :: Filter”。 使用下面的样本数据,我首先创建一个数据帧( wanted含有欲供给到值) dplyr::filter 。 然后,我使用下面的代码创建结果的数据框。 但是,我的实际数据来自三个不同时段的三
2回复

使用tidyverse(dplyr和purrr)替换两个for循环

我有个小题词 我想使用tidyverse替换两个for循环的用法。 我正在使用需要2x2矩阵的函数(它可以是任何函数-在这种情况下,它是momocs :: coo_rotate)。 我想做的事情可以这样写在基数R中: 我猜这可以使用tidyverse来完成,但是我已经看过将grou