Apologies for what I expect will be an easy solve.
I have built an Expression Set from scratch using the instructions at http://www.bioconductor.org/packages/2.13/bioc/vignettes/Biobase/inst/doc/ExpressionSetIntroduction.pdf
I have the expression set imported as a matrix, the pheno Data imported as a data.frame from a cvs file.
Biobase readily creates a 'formal class ExpressionSet', but when I try to run
pvcaObj <- pvcaBatchAssess (exampleSet, batch.factors, pct_threshold)
I only obtain an error message:
Error in Data$variables : $ operator is invalid for atomic vectors
_________________________________________________________________
> dataDirectory <- system.file("extdata", package="Biobase")
> exprsFile <- "~/.../zhen 2.csv"
> exprs <- as.matrix(read.csv(exprsFile, row.names=1,header=TRUE, as.is=TRUE))
> class(exprs)
[1] "matrix"
> # Phenotype data
> pDataFile <- "~/.../zhen pheno.csv"
> pData <- read.csv(pDataFile, header=TRUE)
> colnames(exprs) <- row.names(pData)
> all(rownames(pData)==colnames(exprs))
[1] TRUE
> phenoData <- new("AnnotatedDataFrame",
+ data=pData)
> phenoData
An object of class 'AnnotatedDataFrame'
rowNames: 1 2 ... 96 (96 total)
varLabels: batch
varMetadata: labelDescription
> #### 4.5 Assembling an ExpressionSet ####
> exampleSet <- ExpressionSet(assayData=exprs,phenoData=phenoData)
> exampleSet
ExpressionSet (storageMode: lockedEnvironment)
assayData: 3108 features, 96 samples
element names: exprs
protocolData: none
phenoData
sampleNames: 1 2 ... 96 (96 total)
varLabels: batch
varMetadata: labelDescription
featureData: none
experimentData: use 'experimentData(object)'
Annotation:
> library(pvca)
> pct_threshold <- 0.6
> batch.factors <- "batch"
> pvcaObj <- pvcaBatchAssess (exampleSet, batch.factors, pct_threshold)
Error in Data$variables : $ operator is invalid for atomic vectors
> print(sessionInfo())
R version 3.2.0 (2015-04-16)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.10.3 (Yosemite)
locale:
[1] en_AU.UTF-8/en_AU.UTF-8/en_AU.UTF-8/C/en_AU.UTF-8/en_AU.UTF-8
attached base packages:
[1] parallel stats graphics grDevices utils datasets methods base
other attached packages:
[1] pvca_1.8.0 Biobase_2.28.0 BiocGenerics_0.14.0
loaded via a namespace (and not attached):
[1] Rcpp_0.11.5 lattice_0.20-31 MASS_7.3-40 grid_3.2.0
[5] nlme_3.1-120 affy_1.46.0 BiocInstaller_1.18.1 zlibbioc_1.14.0
[9] minqa_1.2.4 affyio_1.36.0 nloptr_1.0.4 limma_3.24.1
[13] Matrix_1.2-0 preprocessCore_1.30.0 splines_3.2.0 lme4_1.1-7
[17] tools_3.2.0 vsn_3.36.0
_________________________________________________________________
Many thanks for your help!
AR