2017-09-10 60 views
0

我試圖使用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」 

回答

1

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