如何将abline函数应用于R中的绘图列表

时间:2017-09-04 15:40:53

标签: r

我有一个使用此代码的图表列表(代码是我上一个问题的答案。

the last question

xxxy <- as.data.frame(matrix(runif(1e3), ncol = 10))
names(xxxy) <- paste0('V', 1:10)

nam <- names(xxxy)



  par(mfrow = c(2, 5))
   out_par<- lapply(seq_along(nam), function(i)
            hist(xxxy[[i]],main = paste("Histogram of", nam[[i]]))
    )

我想在列表的每个图中添加一行。我试过这段代码:

 mean_par2 <- list(2.3,4.5,3.2,4.6,2,1.5,1.2,1.8,2.5,2)
 true_par2 <- list(2,4.2,3,4.5,2,1.2,1,1.79,2.55,1.89)
lapply(seq_along(out_par), function(i) abline(v=c(mean_par2[[i]],true_par2[[i]]),col=c("red","blue")))

该代码仅适用于最后一个情节!我的问题在哪里?有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

立即绘制直方图和垂直线

set.seed(1)
mean_par2 <- runif(10)*0.8
true_par2 <- runif(10)*0.8
par(mfrow = c(2, 5))
mapply(function(x, y, z) {hist(x); abline(v=c(y,z),col=c("red","blue"))}, xxxy, mean_par2, true_par2)

注意您还有另一个问题,即您的mean_par2true_par2值超出了直方图值的范围。