R:我可以绘制列表而不是数据帧吗?

时间:2014-03-19 02:15:05

标签: r

我有一个像这样的列表

good[1:2]
## [[1]]
## [1] 8 12 10 15 25 2 3 21
## [[2]]
## [1] 6 2 7 24 34 5

想要制作一个情节,使用c(1,2,3....)作为x轴,y有两个系列good[1]good[2],我该怎么做?似乎plot无法处理列表数据,尝试ggplot,也不能正常工作?

1 个答案:

答案 0 :(得分:3)

您可以使用plot作为第一个列表元素,第二个列表元素使用lines

good <- list(c(8, 12, 10, 15, 25, 2, 3, 21), c(6, 2, 7, 24, 34, 5)) 
plot(good[[1]], type = 'l', col = 'blue', ylab = "y", xlab = "x", 
     ylim = range(unlist(good)))
lines(good[[2]], col = "red")

enter image description here

此外,如果您有两个以上的列表元素,则可以sapply上使用lines

myList <- lapply(vector("list", 5), function(dummy){ sample(1:100, 5, TRUE) })
plot(myList[[1]], type = 'l', ylab = "y", xlab = "x", 
     ylim = range(unlist(myList)))
sapply(2:length(myList), function(x){ lines(myList[[x]], col = x) })

enter image description here