library(rmutil)
## 
## Attaching package: 'rmutil'
## The following object is masked from 'package:stats':
## 
##     nobs
library(VaRES)
## 
## Attaching package: 'VaRES'
## The following objects are masked from 'package:rmutil':
## 
##     dburr, dlaplace, dpareto, pburr, plaplace, ppareto
library("animation", lib.loc="/Library/Frameworks/R.framework/Versions/3.4/Resources/library")


# Normal Distribution When changing standard deviation

curve(expr = dnorm(x, mean = 0, sd = 1),
      col = "black", lwd = 2,
      from = -4, to = 4)
curve(expr = dnorm(x, mean = 0, sd = 1.5),
      col = "blue", lwd = 2,
      from = -4, to = 4,
      add = TRUE)
curve(expr = dnorm(x, mean = 0, sd = 2),
      col = "red", lwd = 2,
      from = -4, to = 4,
      add = TRUE)
curve(expr = dnorm(x, mean = 0, sd = 2.5),
      col = "green", lwd = 2,
      from = -4, to = 4,
      add = TRUE)

# Normal Distribution Rainbow Plot When changing standard deviation
curve(expr = dnorm(x, mean=0, sd = 1/2),
from = -4, to = 4,
lwd = 2, col = "white",
xlab = "", ylab = "")

for (i in 1:101) {
curve(expr = dnorm(x, mean =0, sd = seq(.5, 20.5, .2)[i]),
from = -4, to = 4,
lwd = 2, col = rainbow(101)[i],
ylim = c(0,.6),
xlim = c(0,25),
xlab = "", ylab = "",
add = TRUE) }

# Normal Distribution GIF Plot When changing standard deviation
getwd()
## [1] "/Users/zhengdongnanzi/Desktop"
saveGIF({
for (i in 1:201) {
curve(expr = dnorm(x, mean=0, sd = seq(.5, 20.5, .1)[i]),
from = -4, to = 4,
lwd = 2, col = rainbow(201)[i],
ylim = c(0,.6),
xlim = c(-4,4),
xlab = "", ylab = "")
text(x = 13, y = .5, cex = 2,
labels = paste0(sqrt(8/seq(.5, 20.5, .1)[i]))) }
})
## Executing: 
## convert -loop 0 -delay 100 Rplot1.png Rplot2.png Rplot3.png
##     Rplot4.png Rplot5.png Rplot6.png Rplot7.png Rplot8.png
##     Rplot9.png Rplot10.png Rplot11.png Rplot12.png Rplot13.png
##     Rplot14.png Rplot15.png Rplot16.png Rplot17.png Rplot18.png
##     Rplot19.png Rplot20.png Rplot21.png Rplot22.png Rplot23.png
##     Rplot24.png Rplot25.png Rplot26.png Rplot27.png Rplot28.png
##     Rplot29.png Rplot30.png Rplot31.png Rplot32.png Rplot33.png
##     Rplot34.png Rplot35.png Rplot36.png Rplot37.png Rplot38.png
##     Rplot39.png Rplot40.png Rplot41.png Rplot42.png Rplot43.png
##     Rplot44.png Rplot45.png Rplot46.png Rplot47.png Rplot48.png
##     Rplot49.png Rplot50.png Rplot51.png Rplot52.png Rplot53.png
##     Rplot54.png Rplot55.png Rplot56.png Rplot57.png Rplot58.png
##     Rplot59.png Rplot60.png Rplot61.png Rplot62.png Rplot63.png
##     Rplot64.png Rplot65.png Rplot66.png Rplot67.png Rplot68.png
##     Rplot69.png Rplot70.png Rplot71.png Rplot72.png Rplot73.png
##     Rplot74.png Rplot75.png Rplot76.png Rplot77.png Rplot78.png
##     Rplot79.png Rplot80.png Rplot81.png Rplot82.png Rplot83.png
##     Rplot84.png Rplot85.png Rplot86.png Rplot87.png Rplot88.png
##     Rplot89.png Rplot90.png Rplot91.png Rplot92.png Rplot93.png
##     Rplot94.png Rplot95.png Rplot96.png Rplot97.png Rplot98.png
##     Rplot99.png Rplot100.png Rplot101.png Rplot102.png
##     Rplot103.png Rplot104.png Rplot105.png Rplot106.png
##     Rplot107.png Rplot108.png Rplot109.png Rplot110.png
##     Rplot111.png Rplot112.png Rplot113.png Rplot114.png
##     Rplot115.png Rplot116.png Rplot117.png Rplot118.png
##     Rplot119.png Rplot120.png Rplot121.png Rplot122.png
##     Rplot123.png Rplot124.png Rplot125.png Rplot126.png
##     Rplot127.png Rplot128.png Rplot129.png Rplot130.png
##     Rplot131.png Rplot132.png Rplot133.png Rplot134.png
##     Rplot135.png Rplot136.png Rplot137.png Rplot138.png
##     Rplot139.png Rplot140.png Rplot141.png Rplot142.png
##     Rplot143.png Rplot144.png Rplot145.png Rplot146.png
##     Rplot147.png Rplot148.png Rplot149.png Rplot150.png
##     Rplot151.png Rplot152.png Rplot153.png Rplot154.png
##     Rplot155.png Rplot156.png Rplot157.png Rplot158.png
##     Rplot159.png Rplot160.png Rplot161.png Rplot162.png
##     Rplot163.png Rplot164.png Rplot165.png Rplot166.png
##     Rplot167.png Rplot168.png Rplot169.png Rplot170.png
##     Rplot171.png Rplot172.png Rplot173.png Rplot174.png
##     Rplot175.png Rplot176.png Rplot177.png Rplot178.png
##     Rplot179.png Rplot180.png Rplot181.png Rplot182.png
##     Rplot183.png Rplot184.png Rplot185.png Rplot186.png
##     Rplot187.png Rplot188.png Rplot189.png Rplot190.png
##     Rplot191.png Rplot192.png Rplot193.png Rplot194.png
##     Rplot195.png Rplot196.png Rplot197.png Rplot198.png
##     Rplot199.png Rplot200.png Rplot201.png 'animation.gif'
## Output at: animation.gif
## [1] TRUE
knitr::include_graphics('/Users/zhengdongnanzi/Desktop/Normal Distribution GIF.gif')

# Poisson Distribution when changing lambda

plot(x = 0:8 + .1,
     y = dpois(x = 0:8, lambda = 1),
     type = "h", col = "red", lwd = 2)

plot(x = 0:8 + .1,
     y = dpois(x = 0:8, lambda = 2),
     type = "h", col = "blue", lwd = 2, add=TRUE)
## Warning in plot.window(...): "add" is not a graphical parameter
## Warning in plot.xy(xy, type, ...): "add" is not a graphical parameter
## Warning in axis(side = side, at = at, labels = labels, ...): "add" is not a
## graphical parameter

## Warning in axis(side = side, at = at, labels = labels, ...): "add" is not a
## graphical parameter
## Warning in box(...): "add" is not a graphical parameter
## Warning in title(...): "add" is not a graphical parameter

plot(x = 0:8 + .1,
     y = dpois(x = 0:8, lambda = 3),
     type = "h", col = "green", lwd = 2)

# when Possion lambda changes, the plot changes

# Poisson Distribution Rainbow when changing lambda
plot(x = 0:15 + .1,
     y = dpois(x = 0:15, lambda = 1),
     type = "h", col = "white", lwd = 2)
for (i in 1:15) {
  points(x = 0:15 + .1*i,
         y = dpois(x = 0:15, lambda = seq(.5, 20.5, .2)[i]),
         type = "h", col = rainbow(15)[i], lwd = 2)}

# Poisson Distribution GIF when changing lambda
saveGIF({
  for (i in 1:110) {
    plot(x = 0:20 + .1*i,
         y = dpois(x = 0:20, lambda = seq(.5, 20.5, .2)[i]),
         type = "h", col = rainbow(101)[i], lwd = 2, ylim = c(0,.6),
         xlim = c(0,30),
         xlab = "", ylab = "")
    text(x = 13, y = .5, cex = 2,
         labels = paste0(sqrt(8/seq(.5, 20.5, .1)[i]))) }
})
## Executing: 
## convert -loop 0 -delay 100 Rplot1.png Rplot2.png Rplot3.png
##     Rplot4.png Rplot5.png Rplot6.png Rplot7.png Rplot8.png
##     Rplot9.png Rplot10.png Rplot11.png Rplot12.png Rplot13.png
##     Rplot14.png Rplot15.png Rplot16.png Rplot17.png Rplot18.png
##     Rplot19.png Rplot20.png Rplot21.png Rplot22.png Rplot23.png
##     Rplot24.png Rplot25.png Rplot26.png Rplot27.png Rplot28.png
##     Rplot29.png Rplot30.png Rplot31.png Rplot32.png Rplot33.png
##     Rplot34.png Rplot35.png Rplot36.png Rplot37.png Rplot38.png
##     Rplot39.png Rplot40.png Rplot41.png Rplot42.png Rplot43.png
##     Rplot44.png Rplot45.png Rplot46.png Rplot47.png Rplot48.png
##     Rplot49.png Rplot50.png Rplot51.png Rplot52.png Rplot53.png
##     Rplot54.png Rplot55.png Rplot56.png Rplot57.png Rplot58.png
##     Rplot59.png Rplot60.png Rplot61.png Rplot62.png Rplot63.png
##     Rplot64.png Rplot65.png Rplot66.png Rplot67.png Rplot68.png
##     Rplot69.png Rplot70.png Rplot71.png Rplot72.png Rplot73.png
##     Rplot74.png Rplot75.png Rplot76.png Rplot77.png Rplot78.png
##     Rplot79.png Rplot80.png Rplot81.png Rplot82.png Rplot83.png
##     Rplot84.png Rplot85.png Rplot86.png Rplot87.png Rplot88.png
##     Rplot89.png Rplot90.png Rplot91.png Rplot92.png Rplot93.png
##     Rplot94.png Rplot95.png Rplot96.png Rplot97.png Rplot98.png
##     Rplot99.png Rplot100.png Rplot101.png Rplot102.png
##     Rplot103.png Rplot104.png Rplot105.png Rplot106.png
##     Rplot107.png Rplot108.png Rplot109.png Rplot110.png
##     'animation.gif'
## Output at: animation.gif
## [1] TRUE
knitr::include_graphics('/Users/zhengdongnanzi/Desktop/Poisson Distribution GIF.gif')