Возможно, вы ищете что-то вроде
df <- data.frame(dt_1 = 1:10, dt_2 = c(1, NA, 2, 3, NA, 6:10), dt_3 = rep(NA, 10))
df[,-(which(colSums(is.na(df))==dim(df)[1]))]
или
df %>% select_if(colSums(is.na(.))!=dim(df)[1])
Первый вариант не работает для data.tables. Извините, но второй должен решить вашу проблему.