[R] regression
William Dunlap
wdunlap at tibco.com
Fri Sep 13 18:27:54 CEST 2013
The newdata argument to predict should be a data.frame (or environment or list)
containing the variables that are on the right side of the formula (the predictors).
In your case that means it should have a variable called 'Concentration'.
Since it didn't have such a variable (it contained only 'Replica.1'), predict found a
variable called 'Concentration' in the global environment and used it for the prediction.
To help avoid this problem, do not use the idiom
Conc <- c(.1, .4, .9)
Std <- c(2, 5, 7)
myData <- data.frame(Conc, Std)
to make your data.frame: it leaves unwanted global variables around.
Instead use
myData <- data.frame(
Conc = c(.1, .4, .9),
Std = c(2, 5, 7))
Then, if your newdata argument to predict is inappropriate you will get a
complaint that predict cannot find 'Conc'.
Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com
> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf
> Of Julen Tomás Cortazar
> Sent: Friday, September 13, 2013 6:16 AM
> To: r-help at r-project.org
> Subject: [R] regression
>
> I am sorry,
>
>
>
> I have a problem. When I use the "predict" function I am always obtaining the same
> result and I don't know why. In adittion, the intercept and the residual values I get are
> wrong too.
>
>
>
> std:
>
>
>
> [1] 0.068 0.117 0.167 0.269 0.470 0.722
>
>
>
>
>
> Concentration:
>
>
>
> [1] 3.90625 7.81250 15.62500 31.25000 62.50000 125.00000
>
>
>
> replica1:
>
>
>
> Replica.1
> 1 0.080
> 2 1.325
> 3 1.309
> 4 1.072
> 5 1.595
> 6 1.384
>
> replica2:
>
> Replica.2
> 1 0.098
> 2 1.335
> 3 1.271
> 4 1.187
> 5 1.569
> 6 1.268
>
>
>
>
> regresion <- lm(std ~ Concentration, mydata):
>
>
>
> Call:
> lm(formula = std ~ Concentration, data = mydata)
>
> Residuals:
> 1 2 3 4 5 6
> -0.035531 -0.007440 0.000742 0.019106 0.052834 -0.029711
>
> Coefficients:
> Estimate Std. Error t value Pr(>|t|)
> (Intercept) 0.0826219 0.0208118 3.97 0.016539 *
> Concentration 0.0053527 0.0003532 15.15 0.000111 ***
> ---
> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
>
> Residual standard error: 0.0366 on 4 degrees of freedom
> Multiple R-squared: 0.9829, Adjusted R-squared: 0.9786
> F-statistic: 229.6 on 1 and 4 DF, p-value: 0.0001106
>
>
>
>
>
> > predict(regresion, replica1, int = "p")
> fit lwr upr
> 1 0.1035309 -0.012098349 0.2191602
> 2 0.1244399 0.009958707 0.2389212
> 3 0.1662580 0.053716164 0.2787998
> 4 0.2498941 0.139724612 0.3600636
> 5 0.4171663 0.305409665 0.5289230
> 6 0.7517107 0.614489312 0.8889322
>
> > predict(regresion, replica2, int = "p")
> fit lwr upr
> 1 0.1035309 -0.012098349 0.2191602
> 2 0.1244399 0.009958707 0.2389212
> 3 0.1662580 0.053716164 0.2787998
> 4 0.2498941 0.139724612 0.3600636
> 5 0.4171663 0.305409665 0.5289230
> 6 0.7517107 0.614489312 0.8889322
>
>
> So, anyone knows what is happening to me?
>
> Thank you very much!
>
>
>
>
>
>
>
>
>
>
> This e-mail comes from CIC bioGUNE. The e-mail and any files transmitted with it are
> confidential and intended solely for the use of the individual or entity to whom they are
> addressed. Any unauthorised dissemination or copying of this e-mail or its attachments,
> and any use or disclosure of any information contained in them, is strictly prohibited and
> may be illegal. If you have received this e-mail in error, please notify or telephone + 34
> 944 06 13 00 and delete it from your system.
>
> Please consider the environment before printing this email
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org 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.
More information about the R-help
mailing list