Rでエラーバー付きで表示

サンプリング系の手法とか初期値を変えると性能が結構変わる手法だとエラーバー付きで出したほうがいいんちゃう?と言われることがよくある。ということでよく書く必要があるので、テンプレを残しておく。データは適当に作ってます。

N <- 20
samples <- 1:N
proposal <- log(1:N, base=2)
proposal_sd <- rnorm(N, 0, 0.5)
baseline <- log(1:N, base=10)
baseline_sd <- rnorm(N, 0, 0.5)

ylim = range(c(
  proposal + proposal_sd,
  proposal - proposal_sd,
  baseline + baseline_sd,
  baseline - baseline_sd))

plot(proposal, type="l", col="red",
     lwd=2, cex.lab=1.5, cex.axis=1.5,
     ylim = ylim, xlab = "何かの回数", ylab = "何かの指標")
lines(samples, baseline, lwd=2)
title(main="何かの比較", cex.main = 1.5)
legend(12, 0.2, c("Proposal", "Baseline"), col=c("red", "black"), lwd=2, cex=1.5)

arrows(samples, proposal + proposal_sd,
       samples, proposal - proposal_sd, 
       col = "red",
       lwd = 2, lty = 2, length = 0.05, angle = 90, code = 3)
arrows(samples, baseline + baseline_sd,
       samples, baseline - baseline_sd,
       lwd = 2, lty= 2, length = 0.05, angle = 90, code = 3)

f:id:syou6162:20161010131957p:plain