Я не могу понять, почему мой код обеспечивает нежелательный вывод, так как я пробовал это в прошлом с похожими наборами данных и хорошими результатами.
Ниже приведены два кадра данных, которые я хотел бы left_join()
:
> head(datagps)
Date & Time [Local] Latitude Longitude DateTime meters
1: 06/11/2018 08:44 -2.434986 34.85387 2018-11-06 08:44:00 1.920190
2: 06/11/2018 08:48 -2.434993 34.85386 2018-11-06 08:48:00 3.543173
3: 06/11/2018 08:52 -2.435014 34.85388 2018-11-06 08:52:00 1.002979
4: 06/11/2018 08:56 -2.435011 34.85389 2018-11-06 08:56:00 3.788024
5: 06/11/2018 09:00 -2.434986 34.85387 2018-11-06 09:00:00 1.262584
6: 06/11/2018 09:04 -2.434994 34.85386 2018-11-06 09:04:00 3.012679
> head(datasensorraw)
# A tibble: 6 x 4
TimeGroup x y z
<dttm> <int> <int> <dbl>
1 2000-01-01 00:04:00 0 0 0
2 2000-01-01 00:08:00 1 0 1
3 2000-01-01 00:12:00 0 0 0
4 2000-01-01 00:20:00 0 0 0
5 2000-01-01 00:24:00 0 0 0
6 2018-06-09 05:04:00 4 14 14.6
А ниже мой код.Errors
нет, но по какой-то причине я получаю NA
под x
, y
и z
.Этого не должно происходить, поскольку в кадре данных datasensorraw
имеются зарегистрированные значения для этих отметок времени:
> library(dplyr)
> dataresults<-datagps %>%
+ mutate(`Date & Time [Local]` = as.POSIXct(`Date & Time [Local]`,
+ format = "%d/%m/%Y %H:%M")) %>%
+ left_join(datasensorraw, by = c("Date & Time [Local]" = "TimeGroup"))
> #Left join the data frames
> head(dataresults)
Date & Time [Local] Latitude Longitude DateTime meters x y z
1 2018-11-06 07:44:00 -2.434986 34.85387 2018-11-06 08:44:00 1.920190 NA NA NA
2 2018-11-06 07:48:00 -2.434993 34.85386 2018-11-06 08:48:00 3.543173 NA NA NA
3 2018-11-06 07:52:00 -2.435014 34.85388 2018-11-06 08:52:00 1.002979 NA NA NA
4 2018-11-06 07:56:00 -2.435011 34.85389 2018-11-06 08:56:00 3.788024 NA NA NA
5 2018-11-06 08:00:00 -2.434986 34.85387 2018-11-06 09:00:00 1.262584 NA NA NA
6 2018-11-06 08:04:00 -2.434994 34.85386 2018-11-06 09:04:00 3.012679 NA NA NA
Я также могу загрузить небольшую dput()
выборку datagps
иdatasensorraw
.
Я изучаю R, поэтому мне интересно, делаю ли я что-то не так.Я не должен получать NA
s под этими столбцами, как вы можете видеть на предоставленных dput()
образцах.Любой вклад приветствуется!