问题描述:差异基因分析中有一些基因会有异常表达,例如说,A基因在大部分样本表达量介于1-10之间,然后A基因在甲样本表达量高达10000以上,这就是明显的异常表达值。
对于这一列处理方法:
(1)删除异常样本
(2)或者修改其异常表达值
下面的代码用于完成第二个方法
rm(list=ls())
setwd('D:\\work\\F1\\mut')
load('mRNA_exprSet.Rdata')
library(dplyr)
library(tidyr)
library(tcltk)
u <- 1:2000
plot.new()
pb <- tkProgressBar("进度","已完成 %", 0, 100)
for (i in 1:nrow(mRNA_exprSet) ) {
mRNA_exprSet[i,which.max(mRNA_exprSet[i,])] <- NA
info <- sprintf("已完成 %d%%", round(i*100/nrow(mRNA_exprSet)))
#进度条就是根据循环里面的i来看看循环到哪一步了
setTkProgressBar(pb,
i*100/nrow(mRNA_exprSet),
sprintf("进度 (%s)", info), info)
}
u <- 1:2000
plot.new()
pb <- tkProgressBar("进度","已完成 %", 0, 100)
for (i in 1:nrow(mRNA_exprSet) ) {
mRNA_exprSet[i,which.max(mRNA_exprSet[i,])] <- NA
info <- sprintf("已完成 %d%%", round(i*100/nrow(mRNA_exprSet)))
#进度条就是根据循环里面的i来看看循环到哪一步了
setTkProgressBar(pb,
i*100/nrow(mRNA_exprSet),
sprintf("进度 (%s)", info), info)
}
u <- 1:2000
plot.new()
pb <- tkProgressBar("进度","已完成 %", 0, 100)
for (i in 1:nrow(mRNA_exprSet) ) {
mRNA_exprSet[i,which.max(mRNA_exprSet[i,])] <- NA
info <- sprintf("已完成 %d%%", round(i*100/nrow(mRNA_exprSet)))
#进度条就是根据循环里面的i来看看循环到哪一步了
setTkProgressBar(pb,
i*100/nrow(mRNA_exprSet),
sprintf("进度 (%s)", info), info)
}
library(tcltk)
u <- 1:2000
plot.new()
pb <- tkProgressBar("进度","已完成 %", 0, 100)
for(i in 1:nrow(mRNA_exprSet) ){
mRNA_exprSet[ i,
is.na(mRNA_exprSet[i,])] <- rowMeans(mRNA_exprSet,
na.rm = T)[i]
info <- sprintf("已完成 %d%%", round(i*100/nrow(mRNA_exprSet)))
#进度条就是根据循环里面的i来看看循环到哪一步了
setTkProgressBar(pb,
i*100/nrow(mRNA_exprSet),
sprintf("进度 (%s)", info), info)
}
网友评论