小编Mat*_*lls的帖子

不能在两个日期列上使用dplyr连接

我遇到一个错误,我尝试使用两个Date列的dplyr连接函数连接两个数据帧.这是我得到的错误:

Error: cannot join on columns 'DateInfo' x 'DateInfo': Can't join on 'DateInfo' x 'DateInfo' because of incompatible types (Date / Date)
Run Code Online (Sandbox Code Playgroud)

基本merge功能工作正常,我似乎无法通过谷歌搜索或其他堆栈溢出问题找到可能导致此问题的示例.

问题是我无法创建可重现的示例和我正在使用的数据我无法共享.例如,这没有问题:

d1 <- data_frame(Num = 1:5, DateInfo = as.Date(c("2014-01-03", "2014-04-05", "2015-01-03", "2014-04-02", "2011-07-28"), format = "%Y-%m-%d"))
d2 <- data_frame(Name = c("a", "b", "c", "d", "e"), DateInfo = as.Date(c("2014-01-03", "2014-04-05", "2015-01-03", "2014-04-02", "2011-07-28"), format = "%Y-%m-%d"))
d3 <- left_join(d1, d2, by = c("DateInfo" = "DateInfo"))
Run Code Online (Sandbox Code Playgroud)

有没有人有任何经验,无法加入两个列,就class函数而言,是相同的类型,但仍然得到这个错误?

编辑:只是为了解决这个问题,我可以通过使用合并或将日期转换为字符然后加入来解决此错误,所以我真的只是感兴趣为什么dplyr会告诉我我不能合并两个列与相同的类型.

r

10
推荐指数
1
解决办法
5971
查看次数

标签 统计

r ×1