[R] where did the factor name go
Prof Brian Ripley
ripley at stats.ox.ac.uk
Tue May 29 07:59:08 CEST 2007
Yes, dump() does not dump the attributes of language objects of type
LANGSXP.
I don't know if that is deliberate or not, but in this case it would not
be possible for dump to capture all the information, for note
> .. ..- attr(*, ".Environment")=<R_GlobalEnv>
and hence if you adopt Jim's suggestion, be aware that you will save() the
whole of the workspace in order to capture the environment of the formula.
On Mon, 28 May 2007, jim holtman wrote:
> Don't know what it happening, but when I compared the output of 'str(tmp.aov)'
> before and after the 'source', I saw at least the following differences:
>
> before:
> $ terms :Classes 'terms', 'formula' length 3 y ~ a
> .. ..- attr(*, "variables")= language list(y, a)
> .. ..- attr(*, "factors")= int [1:2, 1] 0 1
> .. .. ..- attr(*, "dimnames")=List of 2
> .. .. .. ..$ : chr [1:2] "y" "a"
> .. .. .. ..$ : chr "a"
> .. ..- attr(*, "term.labels")= chr "a"
> .. ..- attr(*, "order")= int 1
> .. ..- attr(*, "intercept")= int 1
> .. ..- attr(*, "response")= int 1
> .. ..- attr(*, ".Environment")=<R_GlobalEnv>
> .. ..- attr(*, "predvars")= language list(y, a)
> .. ..- attr(*, "dataClasses")= Named chr [1:2] "numeric" "factor"
> .. .. ..- attr(*, "names")= chr [1:2] "y" "a"
>
> after:
> $ terms : language y ~ a
>
>
> So it would seem some of the attributes are not being saved.
>
> You might want to use 'save' instead. Here is the output:
>
>> tmp <- data.frame(y=rnorm(12), a=factor(rep(letters[1:4],3)))
>> tmp
> y a
> 1 0.61982575 a
> 2 -0.05612874 b
> 3 -0.15579551 c
> 4 -1.47075238 d
> 5 -0.47815006 a
> 6 0.41794156 b
> 7 1.35867955 c
> 8 -0.10278773 d
> 9 0.38767161 a
> 10 -0.05380504 b
> 11 -1.37705956 c
> 12 -0.41499456 d
>> tmp.aov <- aov(y ~ a, data=tmp)
>> summary(tmp.aov)
> Df Sum Sq Mean Sq F value Pr(>F)
> a 3 1.3068 0.4356 0.622 0.6204
> Residuals 8 5.6031 0.7004
>> save(tmp.aov, file="dumpdata.R")
>> rm(tmp.aov)
>> load("dumpdata.R")
>> ls()
>
>> summary(tmp.aov)
> Df Sum Sq Mean Sq F value Pr(>F)
> a 3 1.3068 0.4356 0.622 0.6204
> Residuals 8 5.6031 0.7004
>>
>
>
>
> On 5/28/07, Richard M. Heiberger <rmh at temple.edu> wrote:
>>
>>> tmp <- data.frame(y=rnorm(12), a=factor(rep(letters[1:4],3)))
>>> tmp
>> y a
>> 1 -0.60866099 a
>> 2 0.55500538 b
>> 3 0.12231693 c
>> 4 -0.24613790 d
>> 5 -0.09253593 a
>> 6 -1.54652581 b
>> 7 0.17204210 c
>> 8 -1.22778942 d
>> 9 1.22151194 a
>> 10 -0.43982577 b
>> 11 -1.25444287 c
>> 12 -0.97251060 d
>>> tmp.aov <- aov(y ~ a, data=tmp)
>>> summary(tmp.aov)
>> Df Sum Sq Mean Sq F value Pr(>F)
>> a 3 1.5220 0.5073 0.6973 0.5794
>> Residuals 8 5.8209 0.7276
>>> dump("tmp.aov")
>>> rm(tmp.aov)
>>> source("dumpdata.R")
>>> ls()
>> [1] "tmp" "tmp.aov"
>>> summary(tmp.aov)
>> Df Sum Sq Mean Sq F value Pr(>F)
>> NA 3 1.5220 0.5073 0.6973 0.5794
>> Residuals 8 5.8209 0.7276
>>>
>>
>>
>> The factor name in the summary() after dumping and sourcing the
>> aov object is missing.
>>
>>
>>> version
>> _
>> platform i386-pc-mingw32
>> arch i386
>> os mingw32
>> system i386, mingw32
>> status
>> major 2
>> minor 5.0
>> year 2007
>> month 04
>> day 23
>> svn rev 41293
>> language R
>> version.string R version 2.5.0 (2007-04-23)
>>>
>>
>> ______________________________________________
>> R-help at stat.math.ethz.ch mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
>> http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>
>
>
>
--
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
More information about the R-help
mailing list