[BioC] an apparently strange case of 'Warning: number of items to replace is not a multiple of replacement length'

Massimo Pinto pintarello at gmail.com
Tue Oct 20 12:46:41 CEST 2009


That was indeed the case. Thank you, James.
This has revealed a problem that refers, possibly, to pre-processing
and which is now subject of a dedicated thread:
https://stat.ethz.ch/pipermail/bioconductor/2009-October/030100.html
Yours
Massimo

Massimo Pinto
Post Doctoral Research Fellow
Enrico Fermi Centre and Italian Public Health Research Institute (ISS), Rome
http://claimid.com/massimopinto



On Mon, Oct 19, 2009 at 3:13 PM, James W. MacDonald
<jmacdon at med.umich.edu> wrote:
> Hi Massimo,
>
> Massimo Pinto wrote:
>>
>> Greetings,
>>
>> I have encountered a series of warning messages when copying indices
>> into a vector of integers. Specifically:
>>
>>> Geni_GO_0033554_CM3.ctr3 <- as.integer(unlist(geneIdsByCategory(hgOver.6,
>>> "GO:0033554"), use.names = FALSE))
>>
>> [1] 100133315     10714      1112     11198      1643      2237
>> 26057     27113      4913     50484      5429     57697      5796
>> 5885      7516      8445
>>
>>> myrows<- integer(length=length(Geni_GO_0033554_CM3.ctr3))
>>
>> + for (i in 0:length(Geni_GO_0033554_CM3.ctr3)) {
>> + myrows[i] <- which(Age_LNGSVsISS.topTable.2k[,
>> "mappings.Sub.ENTREZID"] == Geni_GO_0033554_CM3.ctr3[i])
>> + }
>>
>> Warning messages:
>> 1: In myrows[i] <- which(Age_LNGSVsISS.topTable.2k[,
>> "mappings.Sub.ENTREZID"] ==  :
>>  number of items to replace is not a multiple of replacement length
>> 2: In myrows[i] <- which(Age_LNGSVsISS.topTable.2k[,
>> "mappings.Sub.ENTREZID"] ==  :
>>  number of items to replace is not a multiple of replacement length
>> 3: In myrows[i] <- which(Age_LNGSVsISS.topTable.2k[,
>> "mappings.Sub.ENTREZID"] ==  :
>>  number of items to replace is not a multiple of replacement length
>> 4: In myrows[i] <- which(Age_LNGSVsISS.topTable.2k[,
>> "mappings.Sub.ENTREZID"] ==  :
>>  number of items to replace is not a multiple of replacement length
>
> This is because at least 4 of the Entrez Gene IDs appear more than once in
> the vector Age_LNGSVsISS.topTable.2k[,"mappings.Sub.ENTREZID"]. When you use
> the which() function on a vector for which the equality is true more than
> once you will get a vector:
>
>> which(rep(3,3) == 3)
> [1] 1 2 3
>
> And you cannot put a vector into a single position of another vector:
>
>> a <- 1:10
>> a[1] <- 1:3
> Warning message:
> In a[1] <- 1:3 :
>  number of items to replace is not a multiple of replacement length
>
> Best,
>
> Jim
>
>
>>
>> I have looked into a former discussion on this list
>> http://tolstoy.newcastle.edu.au/R/help/04/09/4534.html
>> but could not find the reason for getting an error in my case.
>>
>> Apparently, I am not missing any item of those that I wish to copy;
>> still, I am getting a warning and would prefer to clarify this matter.
>>
>> Thank you all in advance,
>> Massimo
>>
>> sessionInfo follows:
>>
>>> sessionInfo()
>>
>> R version 2.9.1 (2009-06-26)
>> i386-apple-darwin8.11.1
>>
>> locale:
>> C
>>
>> attached base packages:
>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>
>> other attached packages:
>>  [1] GO.db_2.2.11        hgug4112a.db_2.2.11 limma_2.18.0
>> GOstats_2.10.0      RSQLite_0.7-1       DBI_0.2-4
>> graph_1.22.2        Category_2.10.0
>>  [9] AnnotationDbi_1.6.0 Biobase_2.4.1
>>
>> loaded via a namespace (and not attached):
>> [1] GSEABase_1.6.0    RBGL_1.20.0       XML_2.3-0
>> annotate_1.22.0   genefilter_1.24.0 splines_2.9.1     survival_2.35-4
>>  tools_2.9.1       xtable_1.5-5
>>
>>
>> Massimo Pinto
>> Post Doctoral Research Fellow
>> Enrico Fermi Centre and Italian Public Health Research Institute (ISS),
>> Rome
>> http://claimid.com/massimopinto
>>
>> _______________________________________________
>> Bioconductor mailing list
>> Bioconductor at stat.math.ethz.ch
>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>> Search the archives:
>> http://news.gmane.org/gmane.science.biology.informatics.conductor
>
> --
> James W. MacDonald, M.S.
> Biostatistician
> Douglas Lab
> University of Michigan
> Department of Human Genetics
> 5912 Buhl
> 1241 E. Catherine St.
> Ann Arbor MI 48109-5618
> 734-615-7826
>



More information about the Bioconductor mailing list