﻿rm(list = ls())  # ワークスペースをクリア
n <- 100000  # 試行回数
set.seed(1)  # 乱数のシード値を固定
mX <- rmultinom(n, 10, c(1, 1, 1, 1, 1, 1))  # 多項分布に従う乱数をn個生成
X <- mX[6, ]  # 6の目が出る回数
Y <- mX[5, ] + mX[6, ]  # 5または6の目が出る回数
Z <- mX[1, ] + mX[3, ] + mX[5, ]  # 奇数の目が出る回数
# E(Y)を表示 (※モンテカルロ法で求めた値，理論値の順)
mean(Y) ; 10 / 3
# V(Y)を表示 (※モンテカルロ法で求めた値，理論値の順)
var(Y) ; 20 / 9
# cov(X, Z)を表示 (※モンテカルロ法で求めた値，理論値の順)
cov(X, Z) ; (5 / 6) * (-1)  # 参考：理論値
# cov(X, Y)を表示 (※モンテカルロ法で求めた値，理論値の順)
cov(X, Y) ; 10 / 9