Tôi có một khung dữ liệu chứa hai chuỗi thời gian: ngày và số phiên bản của bản phát hành Emacs và Firefox. Sử dụng một lệnh ggplot2, thật dễ dàng để tạo một biểu đồ sử dụng hoàng thổ (theo cách có vẻ hơi thú vị, điều mà tôi không bận tâm) để biến các điểm thành các đường.
Làm thế nào tôi có thể mở rộng các dòng vào tương lai? Tôi muốn xác định vị trí và thời điểm số phiên bản Emacs và Firefox sẽ giao nhau và nếu có cách nào để hiển thị phạm vi lỗi, thì tốt hơn hết.
Cho rằng ggplot2 đang vẽ các dòng, nó phải có một mô hình, nhưng tôi không thấy làm thế nào để bảo nó mở rộng các dòng hoặc để đưa mô hình ra và làm gì đó với nó.
> 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)
(Lưu ý: Tôi đã phải làm mờ các phiên bản Firefox đầu tiên và biến 0,1 thành 0,01, v.v., bởi vì "dot one" và "dot ten" là bằng nhau về mặt đối xứng. Tôi biết Firefox sẽ phát hành sáu tuần một lần, nhưng chúng không tồn tại chưa, và tôi quan tâm đến câu trả lời chung cho câu hỏi dự đoán này.)