0

I am checking a list of ID numbers from one data frame against another to see if they exist, and I want to only see the values from two columns in the target data frame.

Thus:

df1[!is.na(df1$id %in% df2$id), c("D2", "D8")]

This returns:

   D2                           D8
 1 2021-03-16T13:58:22.4700000Z NA                          
 2 2021-03-22T08:10:12.3190000Z NA                          
 3 2021-03-08T09:17:35.0650000Z 2021-03-10T15:36:53.2090000Z
 4 2021-03-08T09:17:35.0650000Z 2021-03-10T15:36:53.2090000Z
 5 2021-03-09T08:07:45.4410000Z NA                          
 6 2021-03-23T12:03:46.4720000Z NA                          
 7 2021-04-05T09:01:55.9520000Z NA                          
 8 2021-03-29T12:57:58.5500000Z NA                          
 9 2021-03-09T11:54:34.6420000Z 2021-03-15T12:50:52.6690000Z
10 2021-03-09T11:54:34.6420000Z 2021-03-15T12:50:52.6690000Z

I want to know if there is a way to exclude NA values in either of the columns so that the returned results look like this:

   D2                           D8
 1 2021-03-08T09:17:35.0650000Z 2021-03-10T15:36:53.2090000Z
 2 2021-03-08T09:17:35.0650000Z 2021-03-10T15:36:53.2090000Z
 3 2021-03-09T11:54:34.6420000Z 2021-03-15T12:50:52.6690000Z
 4 2021-03-09T11:54:34.6420000Z 2021-03-15T12:50:52.6690000Z
Mus
  • 7,290
  • 24
  • 86
  • 130

1 Answers1

0

You can omit NA values from your dataframe by doing

na.omit(df1[, c("D2", "D8")])
ktiu
  • 2,606
  • 6
  • 20