Thanks, John,

for your hint! (Unfortunately, I was not aware of this vignette,
but I am glad that I seem to habe been on the right track.)

Indeed very helpful, in particular of course, the warning regarding
the danger of overwriting already existing objects. That danger might
be reduced by pre-checking the intended name and if neccessary
changing it (somehow ...) automatically. (Have to think about that ...)

 Best regards  --  Gerrit

---------------------------------------------------------------------
Dr. Gerrit Eichner                   Mathematical Institute, Room 212
gerrit.eich...@math.uni-giessen.de   Justus-Liebig-University Giessen
Tel: +49-(0)641-99-32104          Arndtstr. 2, 35392 Giessen, Germany
Fax: +49-(0)641-99-32109            http://www.uni-giessen.de/eichner
---------------------------------------------------------------------

Am 17.01.2018 um 15:55 schrieb Fox, John:
Dear Gerrit,

This issue is discussed in a vignette in the car package (both for functions in the car and effects 
packages): vignette("embedding", package="car") . The solution suggested there 
is the essentially the one that you used.

I hope this helps,
  John

-----------------------------
John Fox, Professor Emeritus
McMaster University
Hamilton, Ontario, Canada
Web: socialsciences.mcmaster.ca/jfox/


-----Original Message-----
From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of Gerrit
Eichner
Sent: Wednesday, January 17, 2018 9:50 AM
To: r-help@r-project.org
Subject: Re: [R] effects & lme4: error since original data frame
notfoundWASeffects: error when original data frame is missing

Third "hi" in this regard and for the archives:

I found a (maybe "dirty") workaround which at least does what I need by
creating a copy of the required data frame in the .GlobalEnv by means of
assign:

foo <- function() {
    assign("X", sleepstudy, pos = 1)
    fm <- lmer(Reaction ~ Days + (Days | Subject), data = X)
    Effect("Days", fm)
}


   Hth  --  Gerrit

---------------------------------------------------------------------
Dr. Gerrit Eichner                   Mathematical Institute, Room 212
gerrit.eich...@math.uni-giessen.de   Justus-Liebig-University Giessen
Tel: +49-(0)641-99-32104          Arndtstr. 2, 35392 Giessen, Germany
Fax: +49-(0)641-99-32109            http://www.uni-giessen.de/eichner
---------------------------------------------------------------------

Am 17.01.2018 um 15:02 schrieb Gerrit Eichner:
Hi, again,

I have to modify my query since my first (too simple) example doesn't
reflect my actual problem. Second try:

When asking Effect() inside a function to compute an effect of an
lmer-fit which uses a data frame local to the body of the function, as
in the following example (simplifying my actual application), I get
the "Error in is.data.frame(data) :
object 'X' not found":

  > foo <- function() {
+  X <- sleepstudy
+  fm <- lmer(Reaction ~ Days + (Days | Subject), data = X)
+  Effect("Days", fm)
+ }

  > foo()

Error in is.data.frame(data) : object 'X' not found


With lm-objects there is no problem:

  > foo2 <- function() {
+   X <- sleepstudy
+   fm <- lm(Reaction ~ Days, data = X)
+   Effect("Days", fm)
+ }

  > foo2()

....

Any idea how to work around this problem?
Once again, thx in advance!

   Regards  --  Gerrit

PS: > sessionInfo()
R version 3.4.2 (2017-09-28)
Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows >= 8
x64 (build 9200)

Matrix products: default

locale:
[1]
LC_COLLATE=German_Germany.1252  LC_CTYPE=German_Germany.1252 [3]
LC_MONETARY=German_Germany.1252 LC_NUMERIC=C [5]
LC_TIME=German_Germany.1252

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

other attached packages:
[1] effects_4.0-0   carData_3.0-0   lme4_1.1-14     Matrix_1.2-11
car_2.1-5 [6] lattice_0.20-35

loaded via a namespace (and not attached):
   [1] Rcpp_0.12.13       MASS_7.3-47        grid_3.4.2
MatrixModels_0.4-1
   [5] nlme_3.1-131       survey_3.32-1      SparseM_1.77 minqa_1.2.4
   [9] nloptr_1.0.4       splines_3.4.2      tools_3.4.2
survival_2.41-3 [13] pbkrtest_0.4-7     yaml_2.1.14
parallel_3.4.2 compiler_3.4.2 [17] colorspace_1.3-2   mgcv_1.8-22
nnet_7.3-12 quantreg_5.33

---------------------------------------------------------------------
Dr. Gerrit Eichner                   Mathematical Institute, Room 212
gerrit.eich...@math.uni-giessen.de   Justus-Liebig-University Giessen
Tel: +49-(0)641-99-32104          Arndtstr. 2, 35392 Giessen, Germany
Fax: +49-(0)641-99-32109            http://www.uni-giessen.de/eichner
---------------------------------------------------------------------

Am 17.01.2018 um 10:55 schrieb Gerrit Eichner:
Hello, everyody,

when asking, e.g., Effect() to compute the effects of a fitted, e.g.,
linear model after having deleted the data frame from the workspace
for which the model was obtained an error is reported:

  > myair <- airquality
  > fm <- lm(Ozone ~ Temp, data = myair)
  > rm(myair)
  > Effect("Temp", fm)
Error in eval(model$call$data, envir) : object 'myair' not found

Has anybody a better "workaround" for this than, e.g., explicitly
saving the fitted model object fm together with its original
environment or just the data needed frame (maybe in a list like
fm.plus.origdata <- list(fm, myair = myair)) to be able to restore
the original environemt (or at least the needed opriginal data
frame) of the time when fm was created?

Thx for any hint!

   Regards  --  Gerrit

---------------------------------------------------------------------
Dr. Gerrit Eichner                   Mathematical Institute, Room 212
gerrit.eich...@math.uni-giessen.de   Justus-Liebig-University Giessen
Tel: +49-(0)641-99-32104          Arndtstr. 2, 35392 Giessen, Germany
Fax: +49-(0)641-99-32109            http://www.uni-giessen.de/eichner

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.

Reply via email to