Re: [问题] 简单的新手小问题

楼主: andrew43 (讨厌有好心推文后删文者)   2014-09-28 02:00:10
根据你的推文,你的回归式是
y = x ^ b + error
那直接这样做就好了:
mod <- nls(y ~ x ^ b1, data = dat, start = list(b1 = 2))
summary(mod)
其中 dat 是一个 data frame;
x 和 y 是 dat 里的二个变量;
b1 是待估计的参数,不用事先定义,直接写进 nls() 里就可以。
※ 引述《pornstar (迪克)》之铭言:
: 程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
:
: [软件熟悉度]:
: 入门(写过其他程式,只是对语法不熟悉)
: [问题叙述]:
: 各位大大好~~
: 我想在资料中加入一个拟合曲线看看它们之间的关系
: 我的资料只是简单的两列数据 资料型态是data frame
: 我用nls这个函式来做拟合
: [程式范例]:
: 我读入的资料名称是Fit 型态是data frame
: 错误的是: Curve<-nls(Fit[2]~I(Fit[1]^power),data=Fit[])
: 跑出以下的错误讯息 :
: Error in model.frame.default(formula = ~Fit + power, data = Fit) :
: invalid type (list) for variable 'Fit'
: In addition: Warning messages:
: 1: In min(x) : no non-missing arguments to min; returning Inf
: 2: In max(x) : no non-missing arguments to max; returning -Inf
: 是因为F[1],F[2]没办法取出来做运算吗??
: 我预期之后再用summary(Curve)就可以看到拟合曲线的公式
: 新手发问~ 先感谢各位大大的回答~!!
作者: pornstar (迪克)   2014-09-28 12:37:00
感谢~~ 但是试过后仍然跑出一样的错误讯息资料型态无论是data frame或list都一样错 我是用read.csv的方式读进excel的资料 不知道跟这是否有关? 或是nls的涵式需要再另外找什么package??或是我把数据放进x,y的方式有误?(上篇回文 但是x,y的确也有显示出资料..)
楼主: andrew43 (讨厌有好心推文后删文者)   2014-09-28 20:01:00
那可能是统计上的问题而不是R的问题了。你可以先试着把 nls() 里的参数看清楚,了解不同的演算方式来解决问题。
作者: pornstar (迪克)   2014-09-29 22:00:00
好的 我在试试

Links booklink

Contact Us: admin [ a t ] ucptt.com