排列功能:lubridate和dplyr R之间的冲突

时间:2019-01-21 19:12:40

标签: r dplyr lubridate

我想用arrange中的函数dplyr重新排列df。问题是,当我有另一列(比如说v2)与我要安排df的列不同时,这两个软件包似乎有冲突:

   library(dplyr)
library(lubridate)

start_dates <- as.Date(1:10, origin = "2018-01-01")
my_df <- data.frame(x = 10:1, y = interval(start_dates, start_dates + 1), 
                    z=c("A", "B", "C", "D", "E", "F", "G", "H", "I", "J"))

my_df %>% arrange(z)
  

range_impl(.data,点)中的错误:         当前不支持列y类的lubridate的Period和Interval。

如何订购数据框?谢谢你。

1 个答案:

答案 0 :(得分:3)

我不会将其本身称为“冲突”,只是一个软件包不支持另一个软件包的功能。

如果dplyr的{​​{1}}不支持arrange()类,请像平常一样使用Interval

order()
  

range_impl(.data,点)中的错误:
    当前不支持y列类lubridate的Period和Interval。

library(dplyr)
library(lubridate)

start_dates <- as.Date(1:10, origin = "2018-01-01")
my_df <- data.frame(x = 10:1, y = interval(start_dates, start_dates + 1))

my_df %>% arrange(y)

注意

为以后参考,我会认真对待OTStats的警告-通常没有示例数据,其他人很难为您提供帮助。我会检出How to Make a Great R Reproducible Example