等位基因频率的马尔可夫模型
在讲解中,您看到马尔可夫矩阵 \(M\) 的主特征值(其 R 输出为:
[,1] [,2] [,3] [,4]
[1,] 0.980 0.005 0.005 0.010
[2,] 0.005 0.980 0.010 0.005
[3,] 0.005 0.010 0.980 0.005
[4,] 0.010 0.005 0.005 0.980
)对应的特征向量刻画了等位基因均等表示的情形(每个的概率为 0.25)。
在本练习中,我们使用 for 循环,从如下初始等位基因分布出发迭代突变过程:
[1] 1 0 0 0
并展示确实会得到上述情况——也就是说,相比 for 循环,特征向量已经给出了正确的信息。
关于马尔可夫过程的更多内容,请参见此链接。
本练习是课程的一部分
R 数据科学的线性代数
练习说明
- 打印经历 1000 次突变后的等位基因分布
x。 - 求出并缩放已为您加载的
M的第一个特征向量,使其元素之和为1。将结果赋值给v1。 - 打印
v1(M的缩放后第一个特征向量),并与x比较。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# This code iterates mutation 1000 times
x <- c(1, 0, 0, 0)
for (j in 1:1000) {x <- M%*%x}
# Print x
print(___)
# Print and scale the first eigenvector of M
Lambda <- eigen(M)
v1 <- Lambda$vectors[, ___]/sum(Lambda$___[, 1])
# Print v1
print(___)