Never mind.  Found the problem:  The package has been missing a subset method 
for the "lp" class since [...].  Adding "[.lp" solved the problem.

Cheers,
Andy

-----Original Message-----
From: r-devel-boun...@r-project.org [mailto:r-devel-boun...@r-project.org] On 
Behalf Of Liaw, Andy
Sent: Wednesday, April 25, 2012 8:34 AM
To: r-devel@r-project.org
Subject: [Rd] Strange behavior of model.frame() when given subset

Dear R-devel,

I recent got a bug report from a locfit user about the use of the subset 
argument when calling locfit().  Basically the symptom is that the following 
two calls should produce the same result, but they don't:

locfit(y ~ lp(x, h=1), data=subset(dat, x > 1))
locfit(y ~ lp(x, h=1), data=dat, subset= x > 1)

I've tracked the problem down to something shown in the following example, but 
have no idea how to get further:

R> x <- 1:5
R> y <- sample(5)
R> m1 <- model.frame(y ~ lp(x))
R> m2 <- model.frame(y ~ lp(x), subset=x>1)
R> class(m1[[2]])
[1] "lp"
R> class(m2[[2]])
[1] "matrix"

So basically model.frame() seems to treat the lp() term differently depending 
on whether the subset argument is present or not.  Is this supposed to happen?  
str(m1) and str(m2) show that besides having one row less and the lp() term 
being of class matrix instead of "lp", there's no difference between m1 and m2.

I'd really appreciate it if anyone shed some light on this.

Best,
Andy
Merck Research Labs

Notice:  This e-mail message, together with any attachme...{{dropped:11}}

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Notice:  This e-mail message, together with any attachme...{{dropped:11}}

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to