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)
Любые идеи приветствуются ...