0

我想一次可视化许多时间序列。我是 R 的新手,花了大约 6 个小时在网上搜索并阅读有关如何解决这个相对简单的问题的信息。我的数据集有五个时间点排列成行和 100 列。我可以很容易地根据时间点绘制任何列qplot(time, var2, geom="line")。但我想学习如何为灵活数量的列执行此操作,以及如何在一页上打印 6 到 12 个单独的图表。

在这里,我了解了 multiplot 功能,让它在布局方面发挥作用。

我坚持的是如何将变量列表放入 FOR 语句中,这样我就可以有一个语句来绘制所有变量对相同的五个时间点的图。

这就是我正在玩的。它制作了 9 个图,3 列宽,但我不知道如何将我的所有变量放入 yvars 的数组中?

for (i in 1:9) {
         p1 = qplot(symbol,yvar, geom ="smooth", main = i))
         plots[[i]] <- p1  # add each plot into plot list
     }
multiplot(plotlist = plots, cols = 3)

就我而言,愚蠢的是,它现在制作了 9 个相同的地块。那么如何创建列表,以便上面的内容循环遍历我的所有列并制作这些图?

4

1 回答 1

1

首先使用 reshape2 包融化所有数据

datm <- melt(your.original.data.frame, id = "time")

现在使用构面绘制它:

qplot(time, value, data = datm, facets= variable ~ ., geom="point")

让我知道这个是否奏效。如果可以,请上传您的数据,这将有很大帮助。

于 2013-08-24T22:53:54.793 回答