我正在研究遗传学问题,我有20个基因,每个基因有两个等位基因。结果是40个值,可以是1或0。
对于此分布,我得到的期望值为20( np ),方差为10( np(1-p)),因为n = 40并且p = 0.5(see here)。
但是我权衡了每个基因的贡献。权重计算如下:
res <- optimize(function(lambda) (sum(exp(-lambda * (1:20))) -5)^2, 0:1, tol = .Machine$double.eps)
res
x <- c(1:20)
lambda <- res$minimum
y<-exp(-lambda*x)
请注意,由于每个基因都有2个等位基因,因此每个权重使用两次。
gene1.1 * weight1 + gene1.2 * weight 1 + gene2.1 * weight2 + gene2.2 * weight2...
我想计算这个新分布的期望值和方差,但是我不确定如何在R中执行此操作。的确,我根本不知道其数学形式。
希望可以为您提供帮助
答案 0 :(得分:1)
给出n个伯努利随机变量X 1 ,...,X 20 ,它们具有相同的参数p和权重w 1 ,.. 。,w 20 ,它们的总和为
E [sum i n w i X i ] = p sum i n w i
方差是
Var [sum i n w i X i ] = sum i n w i 2 Var [X i ] = p(1-p)sum i n w i 2
这给
p <- 0.5
n <- 20
# No weights
2 * n * p # Mean
# [1] 20
2 * n * p * (1 - p) # Variance
# [1] 10
# Weights
2 * sum(y) * p # Mean
# [1] 5
2 * p * (1 - p) * sum(y^2) # Variance
# [1] 1.172048
# Unweighted case again
y <- rep(1, n)
2 * sum(y) * p # Mean
# [1] 20
2 * p * (1 - p) * sum(y^2) # Variance
# [1] 10