Вот вариант с Filter
из base R
Filter(function(x) !all(is.na(x)), dB)
# study.name group.name outcome ESL prof scope type
#1 Shin.Ellis ME.short 1 1 2 1 1
#2 Shin.Ellis ME.long 1 1 2 1 1
#3 Shin.Ellis DCF.short 1 1 2 1 2
#4 Shin.Ellis DCF.long 1 1 2 1 2
#5 Shin.Ellis Cont.short 1 1 2 NA NA
#6 Shin.Ellis Cont.long 1 1 2 NA NA
#7 NA NA NA NA NA
#8 Trus.Hsu Exper 1 2 2 2 1
#...
или с any
Filter(function(x) any(!is.na(x)), dB)
Для удаления строк
B1[!!rowSums(!is.na(B1) & B1 != ""),]
Или используя Reduce
B1[Reduce(`|`, lapply(B1, function(x) !is.na(x) & x != "" )),]