我正在尝试使用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”
答案 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