使用选择功能,管道和润滑

时间:2017-09-10 03:46:40

标签: r lubridate

我正在尝试使用lubridate包以及tidyverse包中提供的select函数和管道来查看日期中的日期。但是,使用select时我无法使用它。我以为我可以使用select而不是$运算符。这有什么问题?

library(tidyverse)
library(lubridate)
> df <- data.frame(arrivals = c("2015-11-11","2015-11-12"))
> df$arrivals %>% day()
[1] 11 12
> df %>% select(arrivals) %>% day()
Error in as.POSIXlt.default(x, tz = tz(x)) : 
  do not know how to convert 'x' to class “POSIXlt”

1 个答案:

答案 0 :(得分:1)

df$arrivals返回一个向量,而df %>% select(arrivals)返回一个lubridate显然无法使用的data.frame。

使用mutate函数代替以下内容:

> df %>% mutate(day(arrivals))
    arrivals day(arrivals)
1 2015-11-11            11
2 2015-11-12            12