2
私はループの中で作業しています。リストにプロットを保存したいので、それらを一緒に.pdfでプロットすることができます。問題は、リストが正しく埋められておらず、前回の実行結果で再更新されることです。ですから、最終的に私が得るのはまったく同じ5つの要素のリストです。ループの中でプロットをリストに格納する方法は?
私はループが役に立たないように思えるかもしれませんが、実際のコードにできる限り近いテストコード(再現性のあるエラーで)を作成させるだけです。だから、私はループをそのまま残す必要があります。
library (ggplot)
library (gridExtra)
plist <- list()
for (z in 1:5){
n <- 100
k <- seq(0, to=4500+z*2000, length=n)
tmp <- numeric(n)
for (i in 1:n){
tmp[i] <- (5*(i*3)^2)}
plist[[z]] <- ggplot() +
geom_line(aes(x = k, y = tmp)) +
theme_bw()
pdf(sprintf("p%s.pdf", z),
width = 6, height = 4, onefile = T)
plot(plist[[z]])
dev.off()
}
do.call(grid.arrange, c(plist, ncol = 5))
あなたのforループでは、 'P [z]は'使用することはできますか? –
はい、プロットをリストに保存してみませんか?その後、一緒にプロットするためにリストに入れる必要はありません。 – aosmith
あなたがsprintf( "p%s"、z)に割り当てている場所では、「get」しようとするときに "p_%s"を使用します。 –