# 標本の大きさ n の標本抽出を rep 回繰り返すプログラム rep<-500 n<-5 # 標本数 mm<-matrix(,rep,n+2) # 各実験の標本の値、標本平均、分散を入れるオブジェクト for (i in 1:rep){ y<-sample(x,replace=T,n) # 標本抽出 m<-mean(y) # 標本平均の計算 v<-var(y) # 標本分散の計算 mm[i,]<-c(y,m,v) } op<-par(mfrow=c(1,2)) # 標本平均の標本分布の出力 hist(mm[,n+1],prob=T) mean(mm[,n+1]) sqrt(var(mm[,n+1]*(rep-1)/rep)) # 標本平均の標本分布の標準偏差 boxplot(mm[,n+1]) # 標本分散の標本分布のヒストグラム hist(mm[,n+2],prob=T) mean(mm[,n+2]) sqrt(var(mm[,n+2]*(rep-1)/rep)) # 標本分散の標本分布の標準偏差 boxplot(mm[,n+2]) # 標本の大きさ n の標本抽出を rep 回繰り返すプログラムための関数の作成 x<-1:1000 rep<-500 sampledis<-function(n,x){ mm<-matrix(,rep,n+2) for(i in 1:rep){ y<-sample(x,replace=T,n) m<-mean(y) v<-(sum(y**2)-n*mean(y)**2)/(n-1) mm[i,]<-c(y,m,v) } return(mm) } mm<-sampledis(10,x) hist(mm[,11]) hist(mm[,12])