From therneau at mayo.edu  Fri Jul 15 23:23:47 2011
From: therneau at mayo.edu (Terry Therneau)
Date: Fri, 15 Jul 2011 16:23:47 -0500
Subject: [Rd] Confusing inheritance problem
Message-ID: <1310765027.11629.48.camel@nemo>

 I have library in development with a function that works when called
from the top level, but fails under R CMD check.  The paricular line of
failure is
	rsum <- rowSums(kmat>0)
where kmat is a dsCMatrix object.

  I'm currently stumped and looking for some ideas.

  I've created a stripped down library "ktest" that has only 3
functions: pedigree.R to create a pedigree or pedigreeList object, 
	   kinship.R with "kinship" methods for the two objects 
	   one small compute function called by the others
along with the minimal amount of other information such that a call to
   R --vanilla CMD check ktest
gives no errors until the fatal one.

 There are two test cases.  A 3 line one that creates a dsCMatrix and
call rowSums at the top level works fine, but the same call inside the
kmat.pedigreeList function gives an error
        'x' must be an array of at least two dimensions
Adding a print statement above the rowSums call shows that the argument
is a 14 by 14 dsCMatrix.

 I'm happy to send the library to anyone else to try and duplicate.
    Terry Therneau

tmt% R --vanilla

> sessionInfo()
R version 2.13.0 (2011-04-13)
Platform: x86_64-unknown-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=C              
 [5] LC_MONETARY=C              LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods
base



[Rd] Confusing inheritance problem
Terry Therneau