Умножить столбцы - PullRequest
       7

Умножить столбцы

0 голосов
/ 19 марта 2019

Пример данных

data=data.frame("a1" = c(11:14,NA),
                "a2"=c(23:27),
                "b1"=c(0,0,1,1,1),
                "b2"=c(1,1,0,0,1),
                "WANT1" = c(0,0,13,14,NA),
                "WANT2" = c(23,24,0,0,27))

Данные имеют a1 a2 b1 b2.Я хочу создать WANT1 и WANT2.ХОЧУ1 = a1 раз b1.WANT2 равен a2 умноженному на b2.Есть ли способ рассчитать все это сразу?

Я сделал

WANT1 = a1*b1

, и это, кажется, работает, но у меня есть это для многих строк, так есть ли более эффективный способ?

1 Ответ

0 голосов
/ 19 марта 2019

Вы могли бы просто сделать-

data=data.frame("a1" = c(11:14,NA),
                "a2"=c(23:27),
                "b1"=c(0,0,1,1,1),
                "b2"=c(1,1,0,0,1))


> data.table::setDT(data)[,c("want1","want2"):= list(a1*b1,a2 *b2)]
> data
   a1 a2 b1 b2 want1 want2
1: 11 23  0  1     0    23
2: 12 24  0  1     0    24
3: 13 25  1  0    13     0
4: 14 26  1  0    14     0
5: NA 27  1  1    NA    27
...