开始使用免费开始使用

等位基因频率的马尔可夫模型

在讲解中,您看到马尔可夫矩阵 \(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
  • 打印 v1M 的缩放后第一个特征向量),并与 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(___)
编辑并运行代码