创建仅包含R中的NA行的数据集

时间:2018-06-25 14:07:16

标签: r dataset na

如何基于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 :(得分:3)

我们可以使用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

答案 1 :(得分:-1)

我是一个初学者,但是您可以在行上使用anyNA()遍历行(不确定如何应用应用程序或其他矢量化函数),如果正确,则保留该行。 / p>

编辑: 例如

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

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

newdf <- df[a, ]

通常,样式指南建议不要过度使用循环,但是anyNA()和is.na()函数超级有用,因此无论如何都应该了解。