更新dataframe列中的值子集

更新dataframe列中的值子集,r,dataframe,replace,subset,R,Dataframe,Replace,Subset,以下是我的数据框架的摘录: x y se 4 a 7.146329 15 a 8.458633 17 a 9.286849 11 b 6.700024 8 b 4.697962 12 c 7.884244 10 c 7.834816 17 c 7.7623

以下是我的数据框架的摘录:

  x         y     se
  4         a     7.146329
 15         a     8.458633
 17         a     9.286849
 11         b     6.700024
  8         b     4.697962  
 12         c     7.884244
 10         c     7.834816
 17         c     7.762385
 12         d     5.910785
 15         d     12.98158

我需要更新第一列,这样每个数字都将被1减去,但是对于条件a和b,只减去。也就是说,不是
c(4,15,17,11,8,12,10,17,12,15)
,而是
c(3,14,16,10,7,12,10,17,12,15)
可以在这里使用
ifelse
。假设数据帧命名为df1:

df1$x <- ifelse(df1$y %in% c("a", "b"), df1$x - 1, df1$x)

df1$x
df[df$y%in%c(“a”、“b”),“x”]完美,谢谢!