我试图绘制9个不同面板的9个站(A到I)的时间序列月平均温度数据 . 但我使用动物园来保持月份格式 . 我的简单数据集如下所示 .
+--------+------+------+------+------+
| Time | A | B | C | D |
+--------+------+------+------+------+
| Jan-84 | 28.2 | 28.2 | 27.5 | 18.4 |
| Feb-84 | 29.5 | 26.6 | 27.9 | 17.4 |
| Mar-84 | 30.7 | 30.3 | 30.1 | 19.5 |
| Apr-84 | 30.5 | 33.2 | 29.9 | 20.7 |
| May-84 | 33.2 | 30.1 | 30.2 | 21 |
| Jun-84 | 31.6 | 28.3 | 28.5 | 16.9 |
| Jul-84 | 31.5 | 28.6 | 27.7 | 16.8 |
| Aug-84 | 32.5 | 28.9 | 27.4 | 18.5 |
| Sep-84 | 34 | 28.1 | 29.4 | 18.3 |
| Oct-84 | 32.8 | 28.8 | 28.8 | 17.2 |
| Nov-84 | 28.9 | 31.6 | 29 | 17.8 |
| Dec-84 | 30.6 | 26.9 | 28.1 | 18.9 |
| Jan-85 | 31.8 | 28.6 | 29.3 | 18.2 |
| Feb-85 | 31.3 | 29.6 | 30.4 | 19.5 |
| Mar-85 | 32 | 31.1 | 31.4 | 19.7 |
+--------+------+------+------+------+
可以通过以下代码访问该数据集 .
structure(list(Time = structure(c(6L, 4L, 10L, 1L, 12L, 9L, 8L,
2L, 15L, 14L, 13L, 3L, 7L, 5L, 11L), .Label = c("Apr-84", "Aug-84",
"Dec-84", "Feb-84", "Feb-85", "Jan-84", "Jan-85", "Jul-84", "Jun-84",
"Mar-84", "Mar-85", "May-84", "Nov-84", "Oct-84", "Sep-84"), class = "factor"),
A = c(28.2, 29.5, 30.7, 30.5, 33.2, 31.6, 31.5, 32.5, 34,
32.8, 28.9, 30.6, 31.8, 31.3, 32), B = c(28.2, 26.6, 30.3,
33.2, 30.1, 28.3, 28.6, 28.9, 28.1, 28.8, 31.6, 26.9, 28.6,
29.6, 31.1), C = c(27.5, 27.9, 30.1, 29.9, 30.2, 28.5, 27.7,
27.4, 29.4, 28.8, 29, 28.1, 29.3, 30.4, 31.4), D = c(18.4,
17.4, 19.5, 20.7, 21, 16.9, 16.8, 18.5, 18.3, 17.2, 17.8,
18.9, 18.2, 19.5, 19.7)), .Names = c("Time", "A", "B", "C",
"D"), class = "data.frame", row.names = c(NA, -15L))
我使用以下代码将数据获取到动物园结构,然后绘制 . 库(动物园)
dat$Time <- as.yearmon(dat$Time,format="%b-%y")
然后使用以下代码进行绘图 .
plot(dat, col=Rainbow)
我需要在X轴上标记年份,在Y轴上标记温度值 . 我找到了一些方法来绘制这个,但是这些例子在系列在单独的ts对象中并在组合后绘图时可用 . 但数据在数据框中可用作变量 . 我是R的新手并且感谢任何人都可以帮助我 . 谢谢
2 回答
使用完整的数据集,您可以传递X = dat [2:9] . 对于9个绘图,使得par(mfrow = c(9,1)) .
如果你制作一个合适的
zoo
对象,我想你会得到更好的结果 . 例如,使用原始dat