我是一名有用的助手,可以为您翻译文本。
我正在尝试使用Leada提供的数据集计算人们使用的自行车频率。
以下是代码:
我正在尝试使用Leada提供的数据集计算人们使用的自行车频率。
以下是代码:
library(dplyr)
setAs("character", "POSIXlt", function(from) strptime(from, format = "%m/%d/%y %H:%M"))
d <- read.csv("http://mandrillapp.com/track/click/30315607/s3-us-west-1.amazonaws.com?p=eyJzIjoiemxlVjNUREczQ2l5UFVPeEFCalNUdmlDYTgwIiwidiI6MSwicCI6IntcInVcIjozMDMxNTYwNyxcInZcIjoxLFwidXJsXCI6XCJodHRwczpcXFwvXFxcL3MzLXVzLXdlc3QtMS5hbWF6b25hd3MuY29tXFxcL2RhdGF5ZWFyXFxcL2Jpa2VfdHJpcF9kYXRhLmNzdlwiLFwiaWRcIjpcImEyODNiNjMzOWJkOTQxMGM5ZjlkYzE0MmQ0NDQ5YmU4XCIsXCJ1cmxfaWRzXCI6W1wiMTVlYzMzNWM1NDRlMTM1ZDI0YjAwODE4ZjI5YTdkMmFkZjU2NWQ2MVwiXX0ifQ",
colClasses = c("numeric", "numeric", "POSIXlt", "factor", "numeric", "POSIXlt", "factor", "numeric", "numeric", "factor", "character"),
stringsAsFactors = T)
names(d)[9] <- "BikeNo"
d <- tbl_df(d)
d <- d %>% mutate(Weekday = factor(weekdays(Start.Date)))
d %>% group_by(Weekday)
%>% summarise(Total = n())
%>% select(Weekday, Total)
很奇怪,但是dplyr不想通过星期几对数据进行分组,显示以下错误:
Error: column 'Start.Date' has unsupported type
为什么它会关心我按因素分组的Start.Date列呢? 您可以在本地运行代码以重现错误:它将自动下载数据。
P.S. 我正在使用dplyr版本:dplyr_0.3.0.2
dplyr
不支持类别为POSIXlt
的变量有关。请参考此处here和here。你可以尝试使用POSIXct
吗? - Henrikas.POSIXct
代替strptime
。另一方面,你也可以将它们保留为“character”。至少在我看来,你展示的代码似乎并不真正依赖于POSIX
。 - Henrik?as.POSIXct
,特别是format
参数。 - Henrik