создать набор данных только с рядами NA в R - PullRequest
0 голосов
/ 25 июня 2018

Как мне создать новый набор данных на основе значения NA.

                      Date Symbol     Close
1      2005-01-03 01:20:00      A 115.87094
2      2005-01-03 01:25:00      A 115.88168
3      2005-01-03 01:30:00      A 115.88168
4      2005-01-03 01:35:00      A        NA
5      2005-01-03 01:40:00     NA 115.87094
6      2005-01-03 01:45:00     NA 115.87094
7      2005-01-03 01:50:00      A 115.86020

Я просто хочу сохранить строки с NA в строке

                    Date   Symbol     Close
4      2005-01-03 01:35:00      A        NA
5      2005-01-03 01:40:00     NA 115.87094
6      2005-01-03 01:45:00     NA 115.87094

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

Я относительно новичок, но вы можете перебирать строки (не зная, как вы можете это сделать с помощью apply или других векторизованных функций), используя anyNA () в строке, а затем, если это так, сохранить строку.

РЕДАКТИРОВАТЬ: например,

a <- rep(NA, nrow(df))

for (i in 1:nrow(df)) {
  a[i] <- anyNA(df[i, ])
}

newdf <- df[a, ]

Обычно руководства по стилю рекомендуют не использовать циклы, но функции anyNA () и is.na () очень полезны, поэтому их стоит знать в любом случае.

0 голосов
/ 25 июня 2018

Мы можем использовать complete.cases

df1[!complete.cases(df1),]
#                 Date Symbol    Close
#4 2005-01-03 01:35:00      A       NA
#5 2005-01-03 01:40:00   <NA> 115.8709
#6 2005-01-03 01:45:00   <NA> 115.8709
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...