Фильтр для строк, которые имеют менее 4 NA на условие - PullRequest
0 голосов
/ 23 апреля 2020

У меня большой набор данных протеомики с 14 образцами (столбцы) и 3000+ белков (ряды). Не было добавлено никакой информации о том, к какому из двух условий относятся образцы.
Около 50% данных составляют NA. Я хотел бы удалить строки, которые имеют 4 или более пропущенных значений на условие. Я думал, что это возможно с помощью функции filter(). Как я могу указать условия столбцов и добавить код, который определяет только те строки с 3 результатами для каждого условия должны быть сохранены? Прошу прощения, если это очень простой c вопрос, который был задан и дан ответ ранее, однако я не смог найти ответ. Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 23 апреля 2020

Одним из вариантов является использование rowSums для подсчета количества пропущенных значений в строке, а затем вы можете использовать его, чтобы определить, какие строки вы хотите сохранить.

x <- matrix(rnorm(1400), ncol = 14)
x[x < 0] <- NA

x2 <- x[rowSums(is.na(x)) < 4, ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...