On Fri, 26 Nov 2004, roger koenker wrote:

> I'm trying to resolve a small problem that has arisen from introducing a
> NAMESPACE for the package SparseM.  Prior to the namespace I had a class
> "matrix.diag.csr" that consisted of diagonal sparse matrices.  It was
> defined to have the same attributes as the matrix.csr class and setAs
> was used to define how to coerce integers and vectors into this form:
> 
> setClass("matrix.diag.csr","matrix.csr")
> 
> setAs("numeric","matrix.diag.csr",function(from){
>          if(length(from)==1){
>                  n <- as.integer(from)
>                  if(n>0) from  <-  rep(1,n)
>                  else stop("Sparse identity matrices must have positive, 
> integer dimension")
>                  }
>          else n <- length(from)
>          return(new("matrix.diag.csr", ra = from ,ja = as.integer(1:n),
>                  ia = as.integer(1:(n+1)), dimension = 
> as.integer(c(n,n))))
>          })
> 
> This seemed to be fine.   I could do,
> 
>       A  <- as(5,"matrix.diag.csr")
> 
> and A would be a 5x5 identity matrix in sparse form.  But post-namespace
> I get:
> 
>  >A <- as(5,"matrix.diag.csr") Error in as(5, "matrix.diag.csr") : No
> method or default for coercing "numeric" to "matrix.diag.csr"
> 
> so apparently using exportClass(matrix.diag.csr)  isn't sufficient for
> coerce to know what to do. Using findClass("matrix.diag.csr") indicates
> that the class is recognized to be from SparseM, so my question is:  is
> there some mechanism that I'm missing in the NAMESPACE scheme that would
> enable my old setAs() directive to work, or is there some other
> suggestion on how to proceed?

I'm far from sure about this, but is "coerce" one of the exported methods? 
I'm having the same difficulty in retrofitting a NAMESPACE to the 
forthcoming sp package of spatial classes, for S4 classes. 

I see from src/library/methods/NAMESPACE that as and coerce are exported 
from there - should a package with a NAMESPACE and S4 classes do 

import(methods) ?

Roger

> 
> 
> url:  www.econ.uiuc.edu/~roger                Roger Koenker
> email [EMAIL PROTECTED]                       Department of Economics
> vox:  217-333-4558                            University of Illinois
> fax:          217-244-6678                            Champaign, IL 61820
> 
> ______________________________________________
> [EMAIL PROTECTED] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
> 

-- 
Roger Bivand
Economic Geography Section, Department of Economics, Norwegian School of
Economics and Business Administration, Breiviksveien 40, N-5045 Bergen,
Norway. voice: +47 55 95 93 55; fax +47 55 95 93 93
e-mail: [EMAIL PROTECTED]

______________________________________________
[EMAIL PROTECTED] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to