İki zaman serisi içeren bir veri çerçevesi var: tarihleri ve Emacs ve Firefox sürümleri sürüm numaraları. Bir ggplot2 komutu kullanarak, noktaları çizgi haline getirmek için loess (biraz eğlenceli görünüyor, umursamıyorum) kullanan bir grafik yapmak kolaydır.
Hatları geleceğe nasıl uzatabilirim? Emacs ve Firefox sürüm numaralarının nerede ve ne zaman geçeceğini belirlemek istiyorum ve bir hata aralığını göstermenin bir yolu varsa, daha iyi.
Ggplot2'nin çizgileri çizdiği göz önüne alındığında, bir modeli olmalı, ancak çizgileri uzatmak veya modeli çıkarmak ve onunla bir şeyler yapmak için nasıl söyleyeceğimi göremiyorum.
> library(ggplot2)
> programs <- read.csv("http://www.miskatonic.org/files/se-program-versions.csv")
> programs$Date <- as.Date(programs$Date, format="%B %d, %Y")
> head(programs)
Program Version Date
1 Emacs 24.1 2012-06-10
2 Emacs 23.4 2012-01-29
3 Emacs 23.3 2011-03-10
4 Emacs 23.2 2010-05-08
5 Emacs 23.1 2009-07-29
6 Emacs 22.3 2008-09-05
> head(subset(programs, Program == "Firefox"))
Program Version Date
18 Firefox 16 2012-10-09
19 Firefox 15 2012-08-28
20 Firefox 14 2012-06-26
21 Firefox 13 2012-06-15
22 Firefox 12 2012-04-24
23 Firefox 11 2012-03-13
> ggplot(programs, aes(y = Version, x = Date, colour = Program)) + geom_point() + geom_smooth(span = 0.5, fill = NA)
(Not: Erken Firefox sürümlerini geçip 0,1'e 0,01 vb. Çevirmek zorunda kaldım, çünkü "nokta bir" ve "nokta on" aritmetik olarak eşittir. Firefox'un şimdi altı haftada bir yayınladığını biliyorum, ancak mevcut değiller ama bu tahmin sorusunun genel bir cevabı ile ilgileniyorum.)