【问题标题】:Add new column in data frame with vlookup values使用 vlookup 值在数据框中添加新列
【发布时间】:2021-10-06 04:40:44
【问题描述】:

我在 R 中有一个数据框。

Col1  Col2

1      21

1      20

我想要下面的输出。

Col1  Col2   Output

1     21     21

1     20     21

本质上,我想在 Col1 上为 Col2 应用查找并将结果存储在输出列中。这将确保对于第 1 列中的相同输入,将在查找中选择列中两个值中较高的值。

我尝试了几种方法来做到这一点,但似乎都没有。

更新的数据框 -

Col1   Col2    Output

1      21       21

1      20       21

12     20       20

12     19       20

【问题讨论】:

  • “列中两个值中的较高者” - 这与它在列中的索引还是它的值有关?

标签: r database dataframe vlookup


【解决方案1】:

我们可以通过 'Col1' 进行分组并更新 'Col2' 的 max

library(dplyr)
df1 %>%
    group_by(Col1) %>%
    mutate(Ouput = max(Col2)) %>%
    ungroup

【讨论】:

  • 嗨,上面的代码适用于 Col1 = 1。但是当我尝试下表 Col1 Col2 1 21 1 20 12 20 12 19 时,它给出了 Col1 = 12 的 NA。此外,Col1没有从 1 开始的增量值。它有不同的值。
  • @SM9 你的评论被破坏了
  • @SM9 请使用可重现的示例更新您的帖子
  • 用新数据框更新帖子
  • @SM9 更新了答案
猜你喜欢
  • 1970-01-01
  • 2020-11-08
  • 2017-03-30
  • 2021-07-09
  • 1970-01-01
  • 2020-04-27
  • 1970-01-01
  • 2019-08-12
  • 1970-01-01
相关资源
最近更新 更多