Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 带POSIXct和POSIXt的模糊连接_R_Datetime_Tibble_Fuzzyjoin - Fatal编程技术网

R 带POSIXct和POSIXt的模糊连接

R 带POSIXct和POSIXt的模糊连接,r,datetime,tibble,fuzzyjoin,R,Datetime,Tibble,Fuzzyjoin,但这将返回:错误:TIBLE中的所有列都必须是向量。列“col”为空。 更新:我找到了一个解决方案 test1 <- fuzzy_left_join(test1,test2,by = c("DATE" = "pickup_datetime", "DATE" = "dropoff_datetime"),match_fun = list(`>=`, `<=`)) dropoff\u data可能是这样

但这将返回:
错误:TIBLE中的所有列都必须是向量。列“col”为空。

更新:我找到了一个解决方案

test1 <- fuzzy_left_join(test1,test2,by = c("DATE" = "pickup_datetime", "DATE" = "dropoff_datetime"),match_fun = list(`>=`, `<=`))

dropoff\u data可能是这样的东西,可以帮助您:

dropoff_data <- str_split_fixed(test1$dropoff_datetime, " ", 2)
colnames(dropoff_data) <- c("join_date","dropoff_time")
test1 <- cbind.data.frame(test1,dropoff_data)
test1$join_time <- hour(hms(as.character(test1$dropoff_time)))
rm(dropoff_data)

dropoff_data <- str_split_fixed(test2$DATE, " ", 2)
colnames(dropoff_data) <- c("join_date","time")
test2 <- cbind.data.frame(test2,dropoff_data)
test2$join_time <- hour(hms(as.character(test2$time)))
rm(dropoff_data)

test1 <- left_join(test1,test2,by = c("join_date","join_time"))
库(data.table)
setDT(测试1)
setDT(测试2)

t=picku\u datetime&DATE也许你需要颠倒你的列名…试试:
fuzzy\u left\u join(test1,test2,by=c(“picku\u datetime”=“DATE”,“dropoff\u datetime”=“DATE”),match\u fun=list(
=
嘿,伙计们,谢谢你们的回复。不幸的是,无论哪种方式,错误消息都会再次出现。看起来错误可能在其他地方…谢谢!这种解决方案连接了两个表,但不在正确的行上。结果没有真正意义。它只是一个笛卡尔积,最后一行过滤日期介于piccup_datatime和dropoff_datetime之间的情况。。我不明白您为什么认为它没有意义?可能您想将结果存储在表t中,所以只需添加
t即可
dropoff_data <- str_split_fixed(test1$dropoff_datetime, " ", 2)
colnames(dropoff_data) <- c("join_date","dropoff_time")
test1 <- cbind.data.frame(test1,dropoff_data)
test1$join_time <- hour(hms(as.character(test1$dropoff_time)))
rm(dropoff_data)

dropoff_data <- str_split_fixed(test2$DATE, " ", 2)
colnames(dropoff_data) <- c("join_date","time")
test2 <- cbind.data.frame(test2,dropoff_data)
test2$join_time <- hour(hms(as.character(test2$time)))
rm(dropoff_data)

test1 <- left_join(test1,test2,by = c("join_date","join_time"))
library(data.table)
setDT(test1)
setDT(test2)
t <- test1[, c(.SD, as.list(test2)), by = 1:nrow(test1)]
t[DATE >= pickup_datetime & DATE <= dropoff_datetime]