使用选择功能,管道和lubridate
问题描述:
我试图使用lubridate
包与tidyverse
包中提供的选择功能和管道查看日期的日期。但是,使用select时我无法使用它。我想我可以使用select
而不是使用$
运营商。这里有什么问题?使用选择功能,管道和lubridate
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”
答
df$arrivals
返回一个矢量,而df %>% select(arrivals)
返回data.frame其lubridate
显然无法工作。
使用mutate
函数,而不是给出如下:
> df %>% mutate(day(arrivals))
arrivals day(arrivals)
1 2015-11-11 11
2 2015-11-12 12