Eduardo;
I think you would be more successful if you put your data in a
dataframe, offered it to lm with column names only in the formula,
and then used the newdata argument with predict with the column names
matching the column names in the original data.
--
David.
On Aug 15, 2011, at 5:46 AM, Eduardo M. A. M.Mendes wrote:
Dear R-Users
My problem is quite simple: I need to use a fitted model to predict
the next
point (that is, just one single point in a curve).
The data was divided in two parts: identification (x and y - class
matrix)
and validation (xt and yt - class matrix). I don't use all values
in x and
y but only the 10 nearest points (x[b,] and y[b,]) for each
regression (b is
a vector with the indexes).
fit.a=lm(y[b] ~ x[b,],method="qr")
summary(fit.a)
Call:
lm(formula = y[b] ~ x[b, ], method = "qr")
Residuals:
1 2 3 4 5
6 7
6.939e-18 -2.393e-02 -3.912e-02 1.344e-02 -5.926e-02 -1.821e-02
-4.075e-02
8 9 10
4.075e-02 3.938e-02 8.769e-02
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.852793 0.842459 2.199 0.115
x[b, ]1 -0.086324 0.056841 -1.519 0.226
x[b, ]2 0.001114 0.001666 0.668 0.552
x[b, ]3 0.002501 0.004376 0.571 0.608
x[b, ]4 -0.003589 0.009041 -0.397 0.718
x[b, ]5 -0.276498 0.119545 -2.313 0.104
x[b, ]6 -0.003010 0.003574 -0.842 0.462
Residual standard error: 0.07893 on 3 degrees of freedom
Multiple R-squared: 0.7932, Adjusted R-squared: 0.3795
F-statistic: 1.917 on 6 and 3 DF, p-value: 0.3169
Once the fiited model is found (it does not matter how bad it is - the
variables are poorly correlated), I need to predict the next value
predict(fit.a,xt[j,])
Error in eval(predvars, data, env) :
numeric 'envir' arg not of length one
It seems that predict needs a dataframe class but even if I change
xt[b,] to
as.data.frame(xt[b,]) the result is not what I expect.
predict(fit.a,as.data.frame(t(xt[j,])))
1 2 3 4 5 6 7
8
0.7834919 0.8243357 0.7780093 0.7810451 0.8084342 0.8057823 1.0304123
0.9729126
9 10
0.7708979 0.8464298
Warning message:
'newdata' had 1 rows but variable(s) found have 10 rows
My feeling is that I did not understand how to enter the formula in
lm in
the first place.
Many thanks
Ed
[[alternative HTML version deleted]]
______________________________________________
[email protected] 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.
David Winsemius, MD
Heritage Laboratories
West Hartford, CT
______________________________________________
[email protected] 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.