R_dnorm_dt の変更点 - アールメカブ

アールメカブ


R_dnorm_dt の変更点


[[Rの備忘録]]


こんなコードを紹介した。
 

 x <- 1:20
 curve(dnorm, -4, 4, col = 2, lty = 2, lwd = 2)
 my.dt <- function(x) dt(x, 19)
 curve(my.dt, -4, 4, add = T, col = 5, lty= 3, lwd = 2)
 legend(-4, .4, legend= c("正規分布", "t分布"),
        col = c(2,5), lty = c(2,3), lwd = 2)

[[R_正規分布のプロット図]]もみてください。



 par(mfrow = c(2,2))
 #########
 my.mean <- 50
 my.sd <- 10
 my.dnorm <- function(x) dnorm(x, mean = my.mean, sd = my.sd)
 
 plot(my.dnorm, 20, 80,  main = paste("平均=", my.mean , "標準偏差= ", my.sd,
  " の正規分布",sep = ""),ylab = "頻度",  xlab = "平均")
 xvals <- seq(my.mean - my.sd * 2, my.mean + my.sd * 2,
    length = 100)
 dvals <- my.dnorm(xvals)
 polygon(c(xvals, rev(xvals) )  , c(rep(0, 100), 
  rev(dvals)), col = "yellow")
 text(my.mean, my.dnorm(my.mean) ,  lab = "95%", cex = 1.8)
 text(my.mean - my.sd * 2.1, my.dnorm(my.mean - my.sd * 2) , 
    lab = "2.5%", cex = 1.2, col = "red")
 text(my.mean + my.sd * 2.1, my.dnorm(my.mean + my.sd * 2) ,
     lab = "2.5%", cex = 1.2, col = "red")
 lines(c(my.mean - my.sd * 2, my.mean + my.sd * 2 ), c(0,0))
 lines(c(my.mean,my.mean), c(0,my.dnorm(my.mean)), lty=2, 
     col ="blue", lwd = 3)
 #########
  

 #########
 my.mean <- 175
 my.sd <- 8.8
 my.dnorm <- function(x) dnorm(x, mean = my.mean, sd = my.sd)

 
 plot(my.dnorm, my.mean - my.sd * 3, my.mean + my.sd * 3,  
   main = paste("平均=", my.mean , 標準偏差=", my.sd,
   " の正規分布",sep = ""),ylab = "頻度",  xlab = "平均")
 xvals <- seq(my.mean - my.sd * 2, my.mean + my.sd * 2, 
    length = 100)
 dvals <- my.dnorm(xvals)
 polygon(c(xvals, rev(xvals) )  , c(rep(0, 100), 
    rev(dvals)), col = "yellow")
 text(my.mean, my.dnorm(my.mean) ,  lab = "95%", cex = 1.8)
 text(my.mean - my.sd * 2.1, my.dnorm(my.mean - my.sd * 2) ,
  lab = "2.5%", cex = 1.2, col = "red")
 text(my.mean + my.sd * 2.1, my.dnorm(my.mean + my.sd * 2) ,
  lab = "2.5%", cex = 1.2, col = "red")
 lines(c(my.mean - my.sd * 2, my.mean + my.sd * 2 ), c(0,0))
 lines(c(my.mean,my.mean), c(0,my.dnorm(my.mean)), lty=2, 
    col ="blue", lwd = 3)
 #########
 

 ### legend(-4.5, .4, legend= c("平均を中心に左右に標準偏差2個"))
 
 #########
 my.mean <- 7
 my.sd <- 2
 my.dnorm <- function(x) dnorm(x, mean = my.mean, sd = my.sd)

 
 plot(my.dnorm, my.mean - my.sd * 3, my.mean + my.sd * 3,  
    main = paste("平均=", my.mean , ", 標準偏差=", my.sd,
    " の正規分布",sep = ""),ylab = "頻度",  xlab = "平均")
 xvals <- seq(my.mean - my.sd * 2, my.mean + my.sd * 2, 
    length = 100)
 dvals <- my.dnorm(xvals)
 polygon(c(xvals, rev(xvals) )  , c(rep(0, 100), 
   rev(dvals)), col = "yellow")
 text(my.mean, my.dnorm(my.mean) ,  lab = "95%", cex = 1.8)
 text(my.mean - my.sd * 2.1, my.dnorm(my.mean - my.sd * 2),
    lab = "2.5%", cex = 1.2, col = "red")
 text(my.mean + my.sd * 2.1, my.dnorm(my.mean + my.sd * 2) ,
  lab = "2.5%", cex = 1.2, col = "red")
 lines(c(my.mean - my.sd * 2, my.mean + my.sd * 2 ), c(0,0))
 lines(c(my.mean,my.mean), c(0,my.dnorm(my.mean)), lty=2, 
    col ="blue", lwd = 3)
 #########
 

 #########
 my.mean <- 0
 my.sd <- 1
 my.dnorm <- function(x) dnorm(x, mean = my.mean, sd = my.sd)

 
 plot(my.dnorm, my.mean - my.sd * 3, my.mean + my.sd * 3,  
    main = paste("平均=", my.mean , ", 標準偏差=", my.sd,
    " の正規分布",sep = ""),ylab = "頻度",  xlab = "平均")
 xvals <- seq(my.mean - my.sd * 2, my.mean + my.sd * 2, 
   length = 100)
 dvals <- my.dnorm(xvals)
 polygon(c(xvals, rev(xvals) )  , c(rep(0, 100), 
    rev(dvals)), col = "yellow")
 text(my.mean, my.dnorm(my.mean) ,  lab = "95%", cex = 1.8)
 text(my.mean - my.sd * 2.1, my.dnorm(my.mean - my.sd * 2),
   lab = "2.5%", cex = 1.2, col = "red")
 text(my.mean + my.sd * 2.1, my.dnorm(my.mean + my.sd * 2),
     lab = "2.5%", cex = 1.2, col = "red")
 lines(c(my.mean - my.sd * 2, my.mean + my.sd * 2 ), c(0,0))
 lines(c(my.mean,my.mean), c(0,my.dnorm(my.mean)), lty=2, 
    col ="blue", lwd = 3)
 #########