【发布时间】:2013-11-24 06:03:06
【问题描述】:
我有六组人的活动记录,如下所示:
grp hour intensity
1 0 0.048672391
2 0 0.264547556
3 0 0.052459840
4 0 0.078953270
5 0 0.239357060
6 0 0.078163513
1 1 0.029673036
2 1 0.128206479
3 1 0.030184495
4 1 0.076848385
5 1 0.061325717
6 1 0.039264419
1 2 0.020177515
2 2 0.063696611
3 2 0.023759638
4 2 0.047865380
5 2 0.030226285
6 2 0.021652375
...
然后我用它制作了一个多线图:
library(lattice)
xyplot(intensity ~ hour, groups= grp, type= 'l', data= df)
图表如下所示:
但它不遵循人们的生命周期。我正在尝试将 0-4 小时重新定位在 x 轴的右端。有人有一些想法吗?非常感谢!
更新: 我试图将小时更改为一个因子,但输出看起来不够好:线条在 2300 - 0000 之间被切断,并且在六条线之外没有任何地方存在三个平行的“基线”。
df$hour <- as.factor(df$hour)
hourder <- levels(df$hour)
df$hour <- factor(df$hour, levels= c(hourder[6:24], hourder[1:5]))
xyplot(intensity ~ hour, groups= grp, type= 'l', data= df)
【问题讨论】:
-
您可以将时间更改为一个因子,然后使用
levels参数对其进行排序。 -
谢谢@TylerRinker!这听起来像是一个合理的计划,但事实证明存在一些缺陷,正如问题中更新的那样。