1
y<-c(0.0100,2.3984,11.0256,4.0272,0.2408,0.0200);
x<-c(1,3,5,7,9,11);
d<-data.frame(x,y)
myLm<-lm(x~y**2,data=d)
plot(d)
lines(x,lm(y ~ I(log(x)) + x,data=d)$fitted.values)
lines(x,lm(y ~ I(x**2) + x,data=d)$fitted.values) % not quite right, smooth plz

剧情应该很流畅,有点不对劲。

在此处输入图像描述

帮助问题

  1. 线性回归使用什么算法?
  2. 用 Ones -matrix 解释最小二乘绘图
4

4 回答 4

9

您需要predict在拟合点之间插入预测。

d <- data.frame(x=seq(1,11,by=2),
                y=c(0.0100,2.3984,11.0256,4.0272,0.2408,0.0200))
lm1 <-lm(y ~ log(x)+x, data=d)
lm2 <-lm(y ~ I(x^2)+x, data=d)
xvec <- seq(0,12,length=101)
plot(d)
lines(xvec,predict(lm1,data.frame(x=xvec)))
lines(xvec,predict(lm2,data.frame(x=xvec)))

在此处输入图像描述

于 2011-12-03T13:31:31.027 回答
6

强制性 ggplot2 方法:

library(ggplot2)
qplot(x,y)+stat_smooth(method="lm", formula="y~poly(x,2)", se=FALSE)

在此处输入图像描述

于 2011-12-03T14:54:16.117 回答
3

就像是:

 plot(d)    
 abline(lm(x~y**2,data=d), col="black")

会成功(如果是线性的,正如首先提出问题的方式所暗示的那样)

对于您正在寻找的东西,我认为:

  lines(smooth.spline(x, y))

可能如 Dirk 所暗示的那样工作。

于 2011-12-03T05:24:04.060 回答
2

您应该花一些时间阅读程序随附的“An Introduction R”手册的“附录 A:示例会话”。但这是一个开始

R> y<-c(0.0100,2.3984,11.0256,4.0272,0.2408,0.0200);
R> x<-c(1,3,5,7,9,11);
R> d<-data.frame(x,y)
R> myLm<-lm(x~y**2,data=d)
R> myLm

Call:
lm(formula = x ~ y^2, data = d)

Coefficients:
(Intercept)            y  
      6.434       -0.147  

我们可以将其绘制为(我现在更正了您对xand角色的不寻常反转y):

R> plot(d)
R> lines(d$y,fitted(myLm))

在此处输入图像描述

于 2011-12-03T05:25:41.740 回答