删除'日期'有任何' NA'在'价值'柱

时间:2017-07-26 04:53:32

标签: r dataframe missing-data

我有一个包含多个时间序列的数据框。我想删除日期中包含NA值的所有数据。

数据框如下所示,

Date    Time    Value
1/1/2014    0:00    30
1/1/2014    1:00    20
1/1/2014    2:00    12
1/1/2014    3:00    NA
    .   
    .   
    .   
1/1/2014    23:00   23
2/1/2014    0:00    12
2/1/2014    1:00    23
2/1/2014    2:00    34
2/1/2014    3:00    43
    .   
    .   
    .   
2/1/2014    23:00   30
3/1/2014    0:00    34
3/1/2014    1:00    NA
3/1/2014    2:00    NA
3/1/2014    3:00    23
    .   
    .   
    .   
3/1/2014    23:00   45

我会删除日期中具有NA值的所有数据,以便数据框看起来如下,

Date    Time    Value
2/1/2014    0:00    12
2/1/2014    1:00    23
2/1/2014    2:00    34
2/1/2014    3:00    43
    .   
    .   
    .   
2/1/2014    23:00   30

2 个答案:

答案 0 :(得分:3)

问题中的措辞尚不清楚。如果这是为了删除“值”列中包含any'NA'的“日期”行

library(data.table)
setDT(df)[, .SD[!any(is.na(Value))] , Date]
#       Date  Time Value
#1: 2/1/2014  0:00    12
#2: 2/1/2014  1:00    23
#3: 2/1/2014  2:00    34
#4: 2/1/2014  3:00    43
#5: 2/1/2014 23:00    30

答案 1 :(得分:2)

可能有很多方法可以做到这一点,但这里只有一个。找到与缺失的Value相关联的唯一dat[!dat$Date %in% unique(dat[is.na(dat$Value),"Date"]),] Date Time Value 6 2/1/2014 0:00 12 7 2/1/2014 1:00 23 8 2/1/2014 2:00 34 9 2/1/2014 3:00 43 10 2/1/2014 23:00 30 值,并从最终选择中删除这些行:

internshipAndTrackingRelay