I have a data frame like this

xx

```
dput(head(xx,10))
structure(list(JobName = c("EXBCV01D", "EXBCV01D", "EXBCV01D", 
"EXBCV01D", "EXBCV01D", "EXBCV01D", "EXBCV01D", "EXBCV01D", "EXBCV01D", 
"EXBCV01D"), Date = c(120820L, 120817L, 120816L, 120815L, 120814L, 
120813L, 120810L, 120809L, 120808L, 120807L), TargetDate = c(NA_integer_, 
NA_integer_, NA_integer_, NA_integer_, NA_integer_, NA_integer_, 
NA_integer_, NA_integer_, NA_integer_, NA_integer_)), .Names = c("JobName", 
"Date", "TargetDate"), row.names = c(NA, 10L), class = "data.frame")

```

I need to grab all the rows that target is not 

I am doing this
 xxx<-with(xx, xx[!is.na(TargetDate), ])

I get this:

```
head(xxx)
      JobName   Date TargetDate
2689 EXBCV06D 120820         -1
2690 EXBCV06D 120820         -1
2691 EXBCV06D 120820         -1
2692 EXBCV06D 120820         -1
2693 EXBCV06D 120817         -1
2694 EXBCV06D 120817         -1

```

I am getting multiple JobName for the same date. Something weird is happening here.