I would like to convert negative values to zeros according to the example below. I know how to replace the value2
column but as a parallel insert a zero in the first column (value
).
df<-data.frame(product = rep(c('A','B'),each=4), data = seq(as.Date("2020-01-01"), as.Date("2020-01-04"), by = "day"),
value = c(10, 15, 0, 5, 20, 5, 10, 0), value2 = c(-100, 10, -10, 0, -100, 0, -5, 10))
df_expected<-data.frame(product = rep(c('A','B'),each=4), data = seq(as.Date("2020-01-01"), as.Date("2020-01-04"), by = "day"),
value = c(0, 15, 0, 5, 0, 5, 0, 0), value2 = c(0, 10, 0, 0, 0, 0, 0, 10))
> df
product data value value2
1 A 2020-01-01 10 -100
2 A 2020-01-02 15 10
3 A 2020-01-03 0 -10
4 A 2020-01-04 5 0
5 B 2020-01-01 20 -100
6 B 2020-01-02 5 0
7 B 2020-01-03 10 -5
8 B 2020-01-04 0 10
> df_expected
product data value value2
1 A 2020-01-01 0 0
2 A 2020-01-02 15 10
3 A 2020-01-03 0 0
4 A 2020-01-04 5 0
5 B 2020-01-01 0 0
6 B 2020-01-02 5 0
7 B 2020-01-03 0 0
8 B 2020-01-04 0 10