3 回答

TA贡献1794条经验 获得超7个赞
有一种非常简单的方法可以使用单独的面板或同一面板绘制数据框中的所有列:
plot.ts(data)
哪个产生(其中X1-X4是列名):
查看所有选项的?plot.ts。
如果您不想进一步控制绘图功能并且不使用循环,则还可以执行以下操作:
par(mfcol = c(ncol(data), 1))
Map(function(x,y) plot(x, main =y), data, names(data))

TA贡献1884条经验 获得超4个赞
您可以赴汤蹈火,你的解决方案转换为一个lapply,sapply或apply致电。(我看到@jonw显示了一种执行此操作的方法。)除此之外,您已经拥有的代码完全可以接受。
如果这些都是时间序列或类似的时间序列,则以下可能是合适的替代方法,它将每个序列在其自己的面板中绘制在一个绘图区域上。我们使用该zoo软件包是因为它确实很好地处理了有序数据。
require(zoo)
set.seed(1)
## example data
dat <- data.frame(X = cumsum(rnorm(100)), Y = cumsum(rnorm(100)),
Z = cumsum(rnorm(100)))
## convert to multivariate zoo object
datz <- zoo(dat)
## plot it
plot(datz)
这使:
- 3 回答
- 0 关注
- 1365 浏览
添加回答
举报