ДАННЫЕ
df <- data.frame(a=c(1,1,1,1), b1=c(0,0,0,0), b2=c(0,0,0,0),c1=c(0,0,1,0),
c2=c(0,1,0,0), e=c(0,0,0,0), d=c(0,0,0,0))
a b1 b2 c1 c2 d e
1 1 0 0 0 0 0 0
2 1 0 0 0 1 0 0
3 1 0 0 1 0 0 0
4 1 0 0 0 0 0 0
Как я могу преобразовать их в 3 столбца в ab = a * sum (содержит ("b")) ac = a * (сумма (содержит ("c")))
Я ищу что-то похожее на transmute(df, ab=a*(sum(b1+b2)), ac=a*(sum(c1+c2)), aothers=a*(sum (!contains ("a" | "b" | "c")))
ab: a * sum(any col that contains "b")
a c: a * sum(any col that contains "c")
другие: a * sum(contains anything but a or b or c)