下面的代码应该在data.frame中循环11行数据,取每行的子集,然后条形图表示每行的子集与星期几的平均值。制作这些条形图时,每个均值都会在一周中的正确日期正确绘制,但条形图按字母顺序排序,而不是按数据显示的顺序排序。为什么会这样,以及如何解决?
dailyData[1] <- lapply(dailyData[1], function(x) (x-2)%%7 + 1)
data <- vector(mode="numeric", length=7)
dotw <- weekdays(x=as.Date(seq(7), origin="1950-01-01"))
for(i in 0:10){
for(day in 1:7){
ss <- subset(dailyData, DOTY == day)
data[day] <- sum(ss[[i+2]])/length(ss[[i+2]])
}
df <- data.frame(data)
myplot <- ggplot(df, aes(y=df[[1]], x=dotw))
myplot + geom_bar(stat="identity") + xlab("Day Of The Week") + ylab("Mean Hourly Usage") + ggtitle(paste("The effects of DOTW on usage for customer", i, "in 2012", sep=" "))
ggsave(filename=paste("C:\\SCRATCHDIR\\Plots\\DOTW\\", i, ".jpg", sep=""))
}