Eliminar líneas con solo NAs de data.table

Quiero eliminar las líneas de un data.table que solo contiene NA.

> tab = data.table(A = c(1, NA, 3), B = c(NA, NA, 3))
> tab
    A  B
1:  1 NA
2: NA NA
3:  3  3

Normalmente lo haría conapply(dat, 1, ...) que desafortunadamente no funciona en una tabla data.table pero me lleva a esta solución poco elegante:

> tab[apply(as.data.frame(tab), 1, function(x) !all(is.na(x))), ]
   A  B
1: 1 NA
2: 3  3

¿Cómo se puede lograr esto de la manera más rápida sin conocer los nombres de las columnas?

Respuestas a la pregunta(3)

Su respuesta a la pregunta