首页 > 解决方案 > 如果两列相同,则更新值

问题描述

我有以下数据

a <- c("A1","A1","A2","A2")
b <- c("B1","B1","B2","B2")
val <- c(10,20,30,40)

df <- data.frame(a,b,val)

当 a = b 和 'val' 应该具有初始行的值时,我想替换 'val' 中的值

在此处输入图像描述

标签: r

解决方案


你可以试试

library(dplyr)

df %>%
  group_by(a,b) %>%
  mutate(val = first(val))

  a     b       val
  <chr> <chr> <dbl>
1 A1    B1       10
2 A1    B1       10
3 A2    B2       30
4 A2    B2       30

推荐阅读