Olivier Eterradossi
2013-Oct-24 06:54 UTC
[R] problem with ecdf : "missing C_R_approxfun" message
Hi list, In June 2013, using R.2.15.1 (i386) on Windows 7, I calculated a set of ecdf which I stored in lists of records having a "size.ecdf" field, with following structure : [skip previous structure...] $ size.ecdf :function (v) ..- attr(*, "class")= chr [1:3] "ecdf" "stepfun" "function" ..- attr(*, "call")=length 2 ecdf(test.moms[, "m.pxs"]) .. ..- attr(*, "srcref")=Class 'srcref' atomic [1:8] 12 1 12 36 1 36 12 12 .. .. .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x07d7b3b0> [skip following structure...] In September I upgraded to R.3.0.1 under the same OS I need to use my previously recorded ecdfs again, and try to plot one as in :> plot(first.list[[1]]$size.ecdf,col=couleurs[1],main="first ecdf")Which returns : Erreur dans x(0.5 * (ti.l + ti.r)) : objet 'C_R_approxfun' introuvable Sorry it's in French ;-) , it translates to "error in x(0.5 * (ti.l + ti.r)) : missing object 'C_R_approxfun' " The same message prints when trying to use other ecdf methods, or other records in my lists. I first searched the help and archives without success, here are four questions I cannot answer : What is this "C_R_approxfun" object and what is it intended to do ? What may have caused it is missing now (and was not in June) ? Does this mean that I should have recorded other useful parameters in June (such as environment parameters) ? Or anything else I cannot guess ? Thanks for helping, I'm stuck and I would prefer not to calculate all my "old" ecdfs again ! Regards, Olivier -------------------------- Olivier ETERRADOSSI Maître-Assistant, HDR Ecole des Mines d'Alès (C2MA, site de Pau) Ingénierie de l'aspect visuel et tactile des matériaux Pôle « Recherche sur les Interactions des Matériaux avec leur Environnement » (RIME) Hélioparc, 2 av. P. Angot, F-64053 PAU CEDEX 9 Tel : 05 59 30 90 35 (direct) - 05 59 30 54 25 (std) Fax : 05 59 30 63 68 http://www.mines-ales.fr<http://www.mines-ales.fr/> http://www.mines-telecom.fr<http://www.mines-telecom.fr/> [[alternative HTML version deleted]]
Prof Brian Ripley
2013-Oct-24 08:04 UTC
[R] problem with ecdf : "missing C_R_approxfun" message
On 24/10/2013 07:54, Olivier Eterradossi wrote:> Hi list, > > In June 2013, using R.2.15.1 (i386) on Windows 7, I calculated a set of ecdf which I stored in lists of records having a "size.ecdf" field, with following structure :Note that R 2.15.1 was not current even then.> [skip previous structure...] > $ size.ecdf :function (v) > ..- attr(*, "class")= chr [1:3] "ecdf" "stepfun" "function" > ..- attr(*, "call")=length 2 ecdf(test.moms[, "m.pxs"]) > .. ..- attr(*, "srcref")=Class 'srcref' atomic [1:8] 12 1 12 36 1 36 12 12 > .. .. .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x07d7b3b0> > [skip following structure...] > > In September I upgraded to R.3.0.1 under the same OSAnd R 3.0.2 has been out for nearly a month now: see the posting guide.> I need to use my previously recorded ecdfs again, and try to plot one as in : > >> plot(first.list[[1]]$size.ecdf,col=couleurs[1],main="first ecdf") > Which returns : > Erreur dans x(0.5 * (ti.l + ti.r)) : objet 'C_R_approxfun' introuvable > Sorry it's in French ;-) , it translates to "error in x(0.5 * (ti.l + ti.r)) : missing object 'C_R_approxfun' " > > The same message prints when trying to use other ecdf methods, or other records in my lists. > > I first searched the help and archives without success, here are four questions I cannot answer : > > What is this "C_R_approxfun" object and what is it intended to do ? > What may have caused it is missing now (and was not in June) ? > Does this mean that I should have recorded other useful parameters in June (such as environment parameters) ? > Or anything else I cannot guess ? > > Thanks for helping, I'm stuck and I would prefer not to calculate all my "old" ecdfs again !You have to. The ones you have contain references to internal code found only in R < 3.0.0. Note that storing objects in .RData is never intended to be a permanent form of storage, and you have done a *major* version update. You should expect to have to re-create objects from your scripts. It is actually rather easy to update the objects. Consider Fn12 from example(ecdf) (which is random, so your mileage will vary). The data are in the environment of Fn12, so Fn12 <- eval(attr(Fn12, "call"), environment(Fn12)) recreates it.> > Regards, Olivier > > -------------------------- > Olivier ETERRADOSSI > Ma?tre-Assistant, HDR > Ecole des Mines d'Al?s (C2MA, site de Pau) > Ing?nierie de l'aspect visuel et tactile des mat?riaux > P?le ? Recherche sur les Interactions des Mat?riaux avec leur Environnement ? (RIME) > H?lioparc, 2 av. P. Angot, F-64053 PAU CEDEX 9 > Tel : 05 59 30 90 35 (direct) - 05 59 30 54 25 (std) > Fax : 05 59 30 63 68 > http://www.mines-ales.fr<http://www.mines-ales.fr/> > http://www.mines-telecom.fr<http://www.mines-telecom.fr/>-- Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595