R сгруппировать, считая значения не-NA

У меня есть датафрейм, который имеет разброс NA

toy_df
# Y  X1 X2 Label
# 5  3  3  A
# 3  NA 2  B
# 3  NA NA C
# 2  NA 6  B

Я хочу сгруппировать это по полю метки и посчитать, сколько не значений NA содержится в каждой переменной для каждой метки.

desired output:
# Label Y  X1 X2
# A     1  1  1
# B     2  0  2
# C     1  0  0

Я сделал это, используя петли на данный момент, но это медленно и неопрятно, и я уверен, что есть лучший способ.

Агрегат, кажется, проходит половину пути, но он включает в себя число NA.

aggregate(toy_df, list(toy_df$label), FUN=length)

Любые идеи приветствуются ...

Ответы на вопрос(3)

Ваш ответ на вопрос