【发布时间】:2021-08-26 19:35:52
【问题描述】:
(基因组学数据行话警告!)我正在从数千个单核苷酸多态性 (SNP) 的数据集中计算 R 中的多态性信息内容 (PIC)。进行计算所需的数据是等位基因频率。每个观察值都有两种(很少三种)等位基因类型,或者是参考基因类型,或者是第一个替代基因类型。我有一小部分带有第二个替代等位基因。这是我试图在 R 中编写的公式:original publication
其中 Pi 和 Pj 是所选 SNP 标记的第 i 个和第 j 个等位基因的频率。这是我目前在 R
中的表述var_freq$PIC <- (1-(var_freq$a2^2)-(1-var_freq$a2)^2)-(2*(var_freq$a2^2)*(1-(var_freq$a2^2))))
其中变量a2 是替代等位基因频率。
测试数据集:a1是参考等位基因,a2是替代(仍然忽略a3第二替代等位基因)
library(tidyverse)
set.seed(123)
testdata <- data.frame(a1=rnorm(n=10000, mean = .99, sd=0.15)) %>%
filter(., a1<1&a1>0) %>%
mutate(., a2=1-a1)
这是 PIC 值的正确 R 代码公式吗,即我对公式的解释正确吗?
【问题讨论】:
标签: r