首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将空格分隔的文本文件转换为命名向量以计算HWE

将空格分隔的文本文件转换为命名向量以计算HWE
EN

Stack Overflow用户
提问于 2020-03-21 20:28:42
回答 2查看 47关注 0票数 3

我在处理文本文件和向量。

我有一个空格分隔的文本文件,格式如下:

代码语言:javascript
运行
复制
id1 AA 44 AG 20 GG 36
id2 CC 30 CT 22 TT 48
id3 CT 60 CC 30 TT 10
...

我需要一个循环遍历每一行的代码,并将id放在变量中,其余的值放在向量中。对应于第一行的向量的示例:

代码语言:javascript
运行
复制
x <- id1
y <- c(AA=40,AG=20,GG=36)

编辑:我需要使用HardyWeinberg包中的HWChisq函数来排除p值< 0.001的SNP。函数需要为每个等位基因指定计数向量。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-21 21:04:02

逐行循环,然后应用HWE函数:

代码语言:javascript
运行
复制
library("HardyWeinberg")

# data
df1 <- read.table(text = "
id1 AA 44 AG 20 GG 36
id2 CC 30 CT 22 TT 48
id3 CT 60 CC 30 TT 10", header = FALSE, stringsAsFactors = FALSE)

out <- apply(df1[, c(3, 5, 7)], 1, function(i){
  x <- HWChisq(setNames(i, c("AA", "AB", "BB")), verbose = FALSE)
  x$pval
})

# [1] 5.774374e-09 1.182236e-07 7.434226e-02

漂亮的输出:

代码语言:javascript
运行
复制
cbind(df1, HWE = out)
#    V1 V2 V3 V4 V5 V6 V7          HWE
# 1 id1 AA 44 AG 20 GG 36 5.774374e-09
# 2 id2 CC 30 CT 22 TT 48 1.182236e-07
# 3 id3 CT 60 CC 30 TT 10 7.434226e-02

若要计算X染色体的HWE,请参阅小片段:

4. Hardy-Weinberg平衡的X染色体检验

最近,Graffelman和Weir (2016)建议对X染色体上的双等位标记进行HWE的特异性测试。这些测试考虑到了男性和女性。X染色体测试可以通过前一节(HWChisq、HWLratio、HWExact、HWPerm)中提到的相同函数进行,并将参数x.linked=TRUE添加到函数调用中。

票数 1
EN

Stack Overflow用户

发布于 2020-03-21 20:34:39

如果我们有备用列(假设我们有一个在R中通过使用.csv文件读取read.csv/read.table创建的对象),那么用asplit按行拆分,不包括第一个列'id‘列,然后用setNames创建一个命名向量

代码语言:javascript
运行
复制
lst1 <- Map(setNames, asplit(df1[-1][c(FALSE, TRUE)], 1), 
         asplit(df1[-1][c(TRUE, FALSE)], 1))
names(lst1) <- df1[[1]]
lst1$id1
# AA AG GG 
# 44 20 36 

数据

代码语言:javascript
运行
复制
df1 <- structure(list(id = c("id1", "id2", "id3"), v1 = c("AA", "CC", 
"AA"), v2 = c(44L, 30L, 60L), v3 = c("AG", "CT", "AG"), v4 = c(20L, 
22L, 30L), v5 = c("GG", "TT", "GG"), v6 = c(36L, 48L, 10L)), 
class = "data.frame", row.names = c(NA, 
-3L))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60792920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档