我有一个包含多个时间序列的数据框。我想删除日期中包含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
答案 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