我有以下数据集。正如你所看到的,我有两周的一些定量数据,我想对他们的日子进行比较(即:星期一 09 和星期一 10 ):
week date day n
(chr) (date) (chr) (int)
1 Week 09 2016-02-29 Monday 5535
2 Week 09 2016-03-01 Tuesday 7497
3 Week 09 2016-03-02 Wednesday 8658
4 Week 09 2016-03-03 Thursday 6113
5 Week 09 2016-03-04 Friday 4553
6 Week 09 2016-03-05 Saturday 2
7 Week 10 2016-03-07 Monday 5339
8 Week 10 2016-03-08 Tuesday 6196
9 Week 10 2016-03-09 Wednesday 5395
10 Week 10 2016-03-10 Thursday 5633
Run Code Online (Sandbox Code Playgroud)
我得到了下面的代码,但是日期是无序的。无论如何我可以按时间顺序排序这些天:
ggplot(data = my_data, aes(x = as.factor(x = day),
y = n,
col = week,
group = week)) +
geom_line() +
geom_point()
Run Code Online (Sandbox Code Playgroud)
您需要重新排序 的级别day,这决定了绘图顺序。您可以输入一周中的几天,也可以使用您最喜欢的方法生成周日到周六的日期序列并对其进行调用weekdays(或format或strftimewith )。format = %A您可以在绘制之前在 data.frame 上执行此操作(这是一个好主意,因为无论如何这是存储数据的最佳方式),也可以在aes绘制时在内部执行此操作:
ggplot(data = my_data, aes(x = factor(day, weekdays(min(my_data$date) + 0:6)),
y = n,
col = week,
group = week)) +
geom_line() + geom_point() + xlab('Weekday')
Run Code Online (Sandbox Code Playgroud)
