R forma elegante de equilibrar datos de panel no balanceados

¿Existe una manera elegante de equilibrar un conjunto de datos de panel no balanceado? Me gustaría comenzar con un panel desequilibrado (es decir, a algunas personas les faltan algunos datos) y terminar con un panel equilibrado (es decir, a todas las personas no les faltan datos). A continuación se muestra un código de muestra. El resultado final correcto es que todas las observaciones sobre 'Frank' y 'Edward' permanezcan y que todas las observaciones sobre 'Tony' se eliminen ya que le faltan algunos datos. Gracias.

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

Respuestas a la pregunta(1)

Su respuesta a la pregunta