串接的数据帧与dplyr difftime列(concatenating data frames w

2019-11-03 15:16发布

我有完全相同的列中的两个数据帧和我试图将它们串联在一起使用dplyr ::工会。

union(df.3, df.4)

但是,我得到的错误:

错误:可在列“run.time”不加入X“run.time”:能否对不加入>“run.time” X“run.time”,因为不兼容的类型(difftime / difftime)的

作为该run.time列属于同一类型,为什么我收到此错误?

 class(df.4$run.time)
[1] "difftime"
> class(df.3$run.time)
[1] "difftime"
> 

我知道我可以只使用rbind做串联,但我很好奇,为什么union不起作用。

Answer 1:

我觉得有必要提醒你一下:

我知道我可以只使用rbind做级联

,我会如何使用非常谨慎rbind当你列一个是difftime 。 考虑下面这个例子:

now <- Sys.time()
foo <- data.frame(X = now+10 - now)
bar <- data.frame(X = now+120 - now)

foo
##          X
## 1  10 secs

bar
##          X
## 1   2 mins

rbind(foo, bar)
##          X
## 1  10 secs
## 2   2 secs   !!!

rbind(bar, foo)
##          X
## 1   2 mins
## 2  10 mins   !!!


文章来源: concatenating data frames with difftime columns in dplyr
标签: r dplyr