#請記得先安裝TSA package
library(TSA)

#X~N(0,1)
set.seed(1)
par(mfrow=c(1,2))
popnorm<-rnorm(n=100000,mean=0, sd=1)
mean(popnorm)
var(popnorm)
plot(density(popnorm))
meannorm<-array(0,dim=c(1000))
for (i in 1:1000) {
meannorm[i]=mean(sample(popnorm,size=30,replace=TRUE))
}
mean(meannorm)
var(meannorm)
plot(density(meannorm))
jarque.bera.test(meannorm)

#X~U(-1,1)
set.seed(1)
par(mfrow=c(1,2))
popunif<-runif(n=100000,min=-1,max=1)
mean(popunif)
var(popunif)
plot(density(popunif))
meanunif<-array(0,dim=c(1000))
for (i in 1:1000) {
meanunif[i]=mean(sample(popunif,size=30,replace=TRUE))
}
mean(meanunif)
var(meanunif)
plot(density(meanunif))
jarque.bera.test(meanunif)

#X~Bin(1,0.1)
set.seed(1)
par(mfrow=c(1,2))
popbinom<-rbinom(n=100000, size=1, p=0.1)
mean(popbinom)
var(popbinom)
hist(popbinom)
meanbinom<-array(0,dim=c(1000))
for (i in 1:1000) {
meanbinom[i]=mean(sample(popbinom,size=30,replace=TRUE))
}
mean(meanbinom)
var(meanbinom)
plot(density(meanbinom))
jarque.bera.test(meanbinom)

#X~Poi(1)
set.seed(1)
par(mfrow=c(1,2))
poppois<-rpois(n=100000,lambda=1)
mean(poppois)
var(poppois)
hist(poppois)
meanpois<-array(0,dim=c(1000))
for (i in 1:1000) {
meanpois[i]=mean(sample(poppois,size=30,replace=TRUE))
}
mean(meanpois)
var(meanpois)
plot(density(meanpois))
jarque.bera.test(meanpois)

#X~Exp(1)
set.seed(1)
par(mfrow=c(1,2))
popexp<-rexp(n=100000,rate=1)
mean(popexp)
var(popexp)
plot(density(popexp))
meanexp<-array(0,dim=c(1000))
for (i in 1:1000) {
meanexp[i]=mean(sample(popexp,size=30,replace=TRUE))
}
mean(meanexp)
var(meanexp)
plot(density(meanexp))
jarque.bera.test(meanexp)

#X~Beta(0.1,5)
set.seed(1)
par(mfrow=c(1,2))
popbeta<-rbeta(n=100000,shape1=0.1, shape2=5)
mean(popbeta)
var(popbeta)
plot(density(popbeta))
meanbeta<-array(0,dim=c(1000))
for (i in 1:1000) {
meanbeta[i]=mean(sample(popbeta,size=30,replace=TRUE))
}
mean(meanbeta)
var(meanbeta)
plot(density(meanbeta))
jarque.bera.test(meanbeta)

#X~Cauchy(0,1)
set.seed(1)
par(mfrow=c(1,2))
popcauchy<-rcauchy(100000, location = 0, scale = 1)
mean(popcauchy)
var(popcauchy)
plot(density(popcauchy))
meancauchy<-array(0,dim=c(1000))
for (i in 1:1000) {
meancauchy[i]=mean(sample(popcauchy,size=30,replace=TRUE))
}
mean(meancauchy)
var(meancauchy)
plot(density(meancauchy))
jarque.bera.test(meancauchy)

