У меня есть такой фрейм данных
main <- round(runif(100,min = 1, max = 5 ))
a1 <- rep(1, 100)
a2 <- rep(1, 100)
a3 <- rep(1, 100)
a4 <- rep(1, 100)
a5 <- rep(1, 100)
df <- data.frame(main, a1, a2, a3, a4, a5)
Я хочу заменить значения a1 - a5 на основе условий для каждой строки в фрейме данных. Условия:
Если main == 1, заменить a1 на 0
Если main == 2, заменить a2 на 0
Если main == 3, заменить a3 на 0
Если main == 4, заменить a4 на 0
Если main == 5, заменить a5 на 0
Но если значение изменяется в строке, другое не должно касаться и оставайся таким же. Результат должен выглядеть примерно так:
main a1 a2 a3 a4 a5
1 0 1 1 1 1
4 1 1 1 0 1
3 1 1 0 1 1
5 1 1 1 1 0
3 1 1 0 1 1
...
Я перепробовал несколько циклов с операторами if, но не могу заставить работать.
Может ли кто-нибудь мне помочь? Спасибо