[英]Formatting two different dataframes with POSIXct for left_join()-ing
我對 R 很left_join()
,我想left_join()
以下兩個數據集:
> head(datagps)
Date & Time [Local] Latitude Longitude DateTime meters
1: 18/06/2018 03:16 -2.434613 34.85372 2018-06-18 03:16:00 12.036834
2: 18/06/2018 03:20 -2.434511 34.85376 2018-06-18 03:20:00 18.738134
3: 18/06/2018 03:24 -2.434503 34.85393 2018-06-18 03:24:00 26.781879
4: 18/06/2018 03:28 -2.434719 34.85382 2018-06-18 03:28:00 8.341659
5: 18/06/2018 03:33 -2.434718 34.85375 2018-06-18 03:33:00 11.332758
6: 18/06/2018 03:36 -2.434817 34.85377 2018-06-18 03:36:00 15.736907
> head(datasensorraw)
# A tibble: 6 x 4
TimeGroup x y z
<dttm> <int> <int> <dbl>
1 2018-06-09 04:48:00 3 5 5.83
2 2018-06-09 04:52:00 0 0 0
3 2018-06-09 04:56:00 29 31 42.8
4 2018-06-09 05:00:00 10 5 11.2
5 2018-06-09 05:04:00 2 10 10.2
6 2018-06-09 05:08:00 0 0 0
但是,其中一個是POSIXct
格式,另一個不是,因為我嘗試了代碼:
> dataresults<-left_join(datagps, datasensorraw, by = c("Date & Time [Local]" = "TimeGroup"))
Error in left_join_impl(x, y, by_x, by_y, aux_x, aux_y, na_matches) :
cannot join a POSIXct object with an object that is not a POSIXct object
如何知道兩者中的哪一個是POSIXct
格式以及如何格式化另一個以便我可以成功left_join()
? 我看過其他例子,但我不明白什么時候需要使用-
或/
。
任何輸入表示贊賞!
這是因為第一個數據集列Date & Time [Local]
不是 'DateTime' 類。 轉換為 POSIXct 可以解決這個問題
library(dplyr)
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"))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.