Triad sou.

pngでフォントを変える

Windowsにインストールされているフォントを適当に指定してfamilyとして定義すると使えるようになるみたい。

windowsFonts(Times="Times New Roman")
par(family="Times")

定義済みのフォントは

windowsFonts()

で表示される。


n <- 30
y <- 2

Bin <- function(x) {
  exp(lchoose(n, y) + y * log(x) + (n-y) * log(1-x))
}

LAP <- function(x) {
  d2lf <- function(n, y) {
    -exp((3 * log(n) - (log(n - y) + log(y))))
  }
  lap <- Bin(y/n) * exp((x - y/n) * d2lf(n, y) * (x - y/n) / 2)
}

png(
  filename="c:/lap_2.png", width = 600, height = 600, pointsize = 17
)
windowsFonts(Times="Times New Roman")
par(family="Times")
par(font.main = 1)
par(mar=c(5.1, 4.6, 2.1, 1.6), pch=1)
curve(
  Bin, 0, 1, n = 1000, lty = 1, lwd = 1,
  xlab = expression(paste(theta)),
  ylab = "binomial & laplace appriximation likelihood",
  main = "n = 30, y = 2"
)
curve(
  LAP, 0, 1, n = 1000, lty = 2, lwd = 1, add = TRUE,
  xlab = expression(paste(theta))
)
legend(
  0.77, 0.28, c("Bin", "LAP"),
  lty = c(1, 2), merge = TRUE
)
dev.off()

ビットマップ系画像だと線が弱いなぁ。