Как пропустить не полностью пустые строки в r - PullRequest
0 голосов
/ 30 марта 2020

Итак, я пытаюсь прочитать файлы Excel. Что происходит, так это то, что некоторые строки пусты для некоторых столбцов, но не для всех. Я хочу пропустить все строки, которые не являются полными, то есть не имеют информации во всех столбцах. Например:

В этом случае я бы хотел пропустить строки 1,5,6,7,8 и т. Д.

1 Ответ

0 голосов
/ 30 марта 2020

Вероятно, есть более элегантный способ сделать это, но возможное решение состоит в том, чтобы подсчитать количество элементов в строках, которые не NA, и оставить только строки с количеством элементов, равным количеству столбцов.

Используя этот фиктивный пример:

df <-  data.frame(A = LETTERS[1:6],
                 B = c(sample(1:10,5),NA),
                 C = letters[1:6])

  A  B C
1 A  5 a
2 B  9 b
3 C  1 c
4 D  3 d
5 E  4 e
6 F NA f

Используя apply, вы можете для каждой строки подсчитать количество элементов без NA:

v <- apply(df,1, function(x) length(na.omit(x)))

[1] 3 3 3 3 3 2

И затем оставьте только строки с количеством элементов, равным количеству столбцов (которые соответствуют полным строкам):

df1 <- df[v == ncol(df),]

  A B C
1 A 5 a
2 B 9 b
3 C 1 c
4 D 3 d
5 E 4 e

Это отвечает на ваш вопрос?

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