R 基于条件将原始值保留在数据帧中

R 基于条件将原始值保留在数据帧中,r,if-statement,R,If Statement,我试图根据一组条件过滤/更改数据帧中的值 a <- c(18, 12, 15, 8, 4, 2, 9, 1) b <- 14 c = a - b [1] 4 -2 1 -6 -10 -12 -5 -13 a一个简单的ifelse语句 vec <- a - b ifelse(vec < 0, a, vec) #[1] 4 12 1 8 4 2 9 1 尽管Ronak提供了非常好的答案,但您也可以使用replace 像这样 rep

我试图根据一组条件过滤/更改数据帧中的值

 a <- c(18, 12, 15, 8, 4, 2, 9, 1)
 b <- 14

 c = a - b 
  [1]   4  -2   1  -6 -10 -12  -5 -13

a一个简单的
ifelse
语句

vec <- a - b
ifelse(vec < 0, a, vec)
#[1]  4 12  1  8  4  2  9  1

尽管Ronak提供了非常好的答案,但您也可以使用
replace

像这样

replace(c, c<0, a[c<0])
[1]  4 12  1  8  4  2  9  1
替换(c,c
replace(c, c<0, a[c<0])
[1]  4 12  1  8  4  2  9  1