Как удалить строки из кадра данных, которые содержат 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)
Возможно, функция слияния может быть изменена?
Спасибо