首页 > 解决方案 > 在已填充的列中进行 Vlookup

问题描述

我在 r 中有一个包含产品及其生产年份的数据框。根据这个生产年份,我可以计算出产品的使用年限,因此我需要此列始终是满的。不幸的是,数据不是很干净,因此在某些工作日缺少生产年份(它是 0)。

由于生产年份始终相同,我正在寻找这样的函数:如果您在 C 列(Product)中找到另一行具有完全相同的字符串,但 D 列(Production_Year)不同,请计算生产年份的最大值(因此它需要年份而不是 0)并将此最大值复制到具有 0 值的另一行中。

你知道我该怎么做吗?请参阅图片作为参考。

谢谢!

在此处输入图像描述

标签: r

解决方案


如果您的数据位于名为 的数据框中data,您可以执行以下操作:

library(dplyr)
data <- data %>% 
    group_by(Product) %>% 
    mutate(Production_Year = max(Production_Year, na.rm=TRUE))

推荐阅读