我对R相当陌生,我对ggplot2的使用以及melt函数有问题。在特定情况下,我试图创建一个多线图,以表示某些时间间隔及其在比赛中的演变。
说数据框如下(DF_TimeGap)
Lap Ath1 Ath2 Ath3 Ath4 Ath5
1 1 0 0 0 -1 1
2 2 0 0 14 0 28
3 3 0 -1 3 0 18
4 4 0 0 1 0 3
5 5 0 -8 1 -9 3
6 6 0 -22 0 -23 1
7 7 0 0 1 -19 3
8 8 0 -1 13 -2 13
9 9 0 -1 1 0 -1
10 10 0 5 7 8 10
然后我用]融化>
library(reshape2) DFMelt_TimeGap = melt(DF_TimeGap, id.var="Lap") names(DFMelt_TimeGap)[2] = "Rider" names(DFMelt_TimeGap)[3] = "Gap"
而且看起来(出于空间原因,我只报告前两个)
Lap Rider Gap 1 1 Ath1 0 2 2 Ath1 0 3 3 Ath1 0 4 4 Ath1 0 5 5 Ath1 0 6 6 Ath1 0 7 7 Ath1 0 8 8 Ath1 0 9 9 Ath1 0 10 10 Ath1 0 11 1 Ath2 0 12 2 Ath2 0 13 3 Ath2 -1 14 4 Ath2 0 15 5 Ath2 -8 16 6 Ath2 -22 17 7 Ath2 0 18 8 Ath2 -1 19 9 Ath2 -1 20 10 Ath2 5 ...
当我试图绘制多线图时
ggplot(DFMelt_TimeGap, aes(x = Lap, y = Gap, col= Rider, group = Rider)) +
geom_point()+
geom_line()+
xlab("Lap")+ ylab("Gap (s)")
如果不是因为x轴上的顺序是1 10 2 3 4 5 6 7 8 9
有人知道如何解决此类问题吗?感谢所有热心贡献的人
我对R相当陌生,我对ggplot2的使用以及melt函数有问题。在特定情况下,我尝试创建一个多线图,该图表示某些时间间隔,并且...
在融化过程中,Lap
会以某种方式转换为角色。我的猜测是,在您的真实数据中,Lap
已经包含一个字符(或更糟的是factor
)。然后,在ggplot
中,x轴映射到一个字符列,该列默认情况下使用字母顺序。