R语言实现统计 plink格式数据位点缺失率

 

1、R实现

复制代码
dir()
dat <- read.table("outcome.ped")
dim(dat)

dat <- dat[,-(1:6)]

loci <- data.frame(v1 = rep(1, 2 * nrow(dat)))

for (i in 1:(ncol(dat)/2)) {
  loci <- cbind(loci, c(dat[,i * 2 -1], dat[, i * 2]))
}

loci <- loci[,-1]
colnames(loci) <- paste0("v", 1:ncol(loci))

result <- data.frame()
for (i in 1:ncol(loci)) {
  count = 0;
  for (j in 1:nrow(loci)) {
    if (loci[j,i] == 0) {
      count = count + 1
    }
  }
  temp <- c(count/2,nrow(loci)/2, (count/2) / (nrow(loci)/2))
  result <- rbind(result, temp)
}
map <- read.table("outcome.map")
result <- cbind(map[,c(1,2,4)], result)
colnames(result) <- c("chr", "snp", "pos", "missing", "total", "rate")
dat
result
复制代码

 

 

2、plink软件验证

复制代码
[root@centos79 test]# plink --file outcome --missing --out temp > /dev/null; rm *.log *.nosex
[root@centos79 test]# ls
missresult.txt  outcome.map  outcome.ped  temp.imiss  temp.lmiss  test  test.sh
[root@centos79 test]# cat  temp.lmiss
 CHR  SNP   N_MISS   N_GENO   F_MISS
   1 snp1        3        6      0.5
   1 snp2        1        6   0.1667
   1 snp3        6        6        1
   1 snp4        2        6   0.3333
   1 snp5        0        6        0
   1 snp6        0        6        0
   1 snp7        0        6        0
   1 snp8        3        6      0.5
复制代码

 

 

posted @   小鲨鱼2018  阅读(125)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2020-10-31 linux系统 服务的访问控制列表
2020-10-31 linux系统中firewalld防火墙管理工具firewall-config(GUI图形用户界面)
点击右上角即可分享
微信分享提示