[BioC] snpMatrix - Creating a 1-column snp.matrix by subsetting a larger snp.matrix
Richard Pearson
richard.pearson at postgrad.manchester.ac.uk
Wed Jun 4 22:49:33 CEST 2008
I had done something daft when trying to convert to a regular matrix and back, but have now figured out how to do this - apologies for the noise! For the record here's what I did:
subsetSnpMatrix <- function(snpmat, subsetColumns) {
new("snp.matrix", matrix(
as(snpmat[,subsetColumns], "matrix"),
nrow = dim(snpmat)[1],
dimnames = list(
dimnames(snpmat)[[1]],
dimnames(snpmat)[[2]][subsetColumns]
)
)
)
}
sapply(subsets, function(x) class(subsetSnpMatrix(Autosomes, x)))
none one two
"snp.matrix" "snp.matrix" "snp.matrix"
If anyone has a more elegant solution that doesn't involve coercing to a regular matrix I'd still find it useful.
Best wishes
Richard.
Richard Pearson wrote:
> Is there any way of subsetting a snp.matrix on just one column, and
> ending up with a snp.matrix object (rather than a snp object)? Put
> another way, is there a way of coercing a snp object to be a snp.matrix
> object? The following example might illustrate the sort of thing I'm
> trying to do:
>
>> library(snpMatrix)
>> data(testdata)
>> subsets <- list("none" = NULL, "one" = 1, "two" = 1:2)
>> sapply(subsets, function(x) class(Autosomes[,x]))
> none one two "snp.matrix" "snp"
> "snp.matrix"
> I couldn't find anything in the documentation, and am struggling
> figuring out how to do this by coercing to a regular matrix and then back.
>
> Thanks
>
> Richard
>
--
Richard D. Pearson richard.pearson at postgrad.manchester.ac.uk
School of Computer Science, http://www.cs.man.ac.uk/~pearsonr
University of Manchester, Tel: +44 161 275 6178
Oxford Road, Mob: +44 7971 221181
Manchester M13 9PL, UK. Fax: +44 161 275 6204
More information about the Bioconductor
mailing list