R ExpressionSet过滤NA值

时间:2015-08-22 13:50:31

标签: r bioconductor

我想在R中创建以下ExpressionSet:

dataDirectory <- system.file("extdata", package = "Biobase")
exprsFile <- "path to expression data.txt"
exprs <- as.matrix(read.table(exprsFile, header = TRUE, sep = "\t", row.names = 1, as.is = TRUE))

pDataFile <- "path to phenotype data.txt"
pData <- read.table(pDataFile, row.names=1, header=TRUE, sep="\t")
phenoData <- new("AnnotatedDataFrame",data=pData)

现在从超​​过80%NA值

的exprs中删除这些列
exprs <- exprs[,colSums(is.na(exprs)) < 0.8]

在我执行以下代码之前&amp;构建ExpressionSet我必须删除phenoData(= samples)中与exprs中上面删除的列匹配的所有行。我怎样才能做到这一点?

exampleSet <- ExpressionSet(assayData=exprs, phenoData=phenoData)
exampleSet

1 个答案:

答案 0 :(得分:1)

构建ExpressionSet(不过滤)

exampleSet <- ExpressionSet(assayData=exprs, phenoData=phenoData)

然后使用exprs()函数子集处理表达式值的下层矩阵:

exampleSet[, colSums(is.na(exprs(exampleSet))) < 0.8]

在Bioconductor support site上询问有关Bioconductor包的问题。