Как удалить строки из кадра данных, которые содержат n * NA

У меня есть несколько больших наборов данных с ~ 10 столбцами и ~ 200000 строк. Не все столбцы содержат значения для каждой строки, хотя хотя бы один столбец должен содержать значение для присутствующей строки, я хотел бы установить порог для количестваNAс разрешены подряд.

Мой Dataframe выглядит примерно так:

 ID q  r  s  t  u  v  w  x  y  z
 A  1  5  NA 3  8  9  NA 8  6  4
 B  5  NA 4  6  1  9  7  4  9  3 
 C  NA 9  4  NA 4  8  4  NA 5  NA
 D  2  2  6  8  4  NA 3  7  1  32 

И я хотел бы иметь возможность удалить строки, которые содержат более 2 ячеек, содержащих NA, чтобы получить

ID q  r  s  t  u  v  w  x  y  z
 A 1  5  NA 3  8  9  NA 8  6  4
 B 5  NA 4  6  1  9  7  4  9  3 
 D 2  2  6  8  4  NA 3  7  1  32 

complete.cases удаляет все строки, содержащие любыеNAи я знаю, что можно удалить строки, содержащиеNA в некоторых столбцах, но есть ли способ изменить его так, чтобы он не определял, какие столбцы содержатNAа сколько из общего количества делают?

В качестве альтернативы этот фрейм данных создается путем объединения нескольких фреймов данных с использованием

    file1<-read.delim("~/file1.txt")
    file2<-read.delim(file=args[1])

    file1<-merge(file1,file2,by="chr.pos",all=TRUE)

Возможно, функция слияния может быть изменена?

Спасибо

Ответы на вопрос(4)

Ваш ответ на вопрос