我有一个使用此代码的图表列表(代码是我上一个问题的答案。
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")))
该代码仅适用于最后一个情节!我的问题在哪里?有什么帮助吗?
答案 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_par2
和true_par2
值超出了直方图值的范围。