R maneira elegante de equilibrar dados de painel desequilibrados

Existe uma maneira elegante de equilibrar um conjunto de dados de painel desequilibrado? Eu gostaria de começar com um painel desequilibrado (ou seja, alguns indivíduos estão perdendo alguns dados) e acabar com um painel equilibrado (ou seja, todos os indivíduos não possuem dados). Abaixo está um código de exemplo. O resultado final correto é que todas as observações sobre 'Frank' e 'Edward' permaneçam e que todas as observações sobre 'Tony' sejam removidas, pois ele tem alguns dados ausentes. Obrigado.

unbal <- data.frame(PERSON=c(rep('Frank',5),rep('Tony',5),rep('Edward',5)), YEAR=c(2001,2002,2003,2004,2005,2001,2002,2003,2004,2005,2001,2002,2003,2004,2005), Y=c(21,22,23,24,25,5,6,NA,7,8,31,32,33,34,35), X=c(1:15))
unbal

questionAnswers(1)

yourAnswerToTheQuestion