Большое спасибо за ваши ответы.
Я пытался работать с вектором также с нулями:
d= c(0,2,4,6)
b=cbind(c(2,7,0,7),c(3,0,11,9),c(99,0,0,2),c(9,0,0,2))
B= as.matrix(b)
Тогда я умножаю вектор d на матрицу B
D * B
[,1] [,2] [,3] [,4]
[1,] 0 0 0 0
[2,] 14 0 0 0
[3,] 0 44 0 0
[4,] 42 54 12 12
последний суммирует количество столбцов без 0:
colSums((d*B) !=0)
PROFIT!
окончательный код:
d= c(0,2,4,6)
b=cbind(c(2,7,0,7),c(3,0,11,9),c(99,0,0,2),c(9,0,0,2))
B= as.matrix(b)
colSums((d*B) !=0)