我想在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
答案 0 :(得分:1)
构建ExpressionSet(不过滤)
exampleSet <- ExpressionSet(assayData=exprs, phenoData=phenoData)
然后使用exprs()
函数子集处理表达式值的下层矩阵:
exampleSet[, colSums(is.na(exprs(exampleSet))) < 0.8]
在Bioconductor support site上询问有关Bioconductor包的问题。