【发布时间】:2018-12-27 14:09:40
【问题描述】:
我是 R 的初学者,我正在尝试查找函数的参数 (b0,b1,ta):
1/n*sum(exp(b0+b1*x1)*log(1+Y^(ta)))
但我不断收到错误:
R 输出:
Error in qr(.swts * gr) : dims [product 3] do not match the length of object [25]
另外:警告信息:
在.swts * gr 中:较长的对象长度不是较短对象长度的倍数
有人可以帮忙解决这个问题吗?
set.seed(56)
x1 =runif(25)
y11 = runif(25)
n= 25
b0=1
b1=1
ta=0.5
Y = runif(25)
dat= data.frame(y11,x1)
nls( y11~ 1/n*sum(exp(b0+b1*x1)*log(1+Y^(ta))),data = dat ,c(b0=1,b1=1,ta=0.5))
【问题讨论】:
-
您的问题出在
sum()函数上。你确定你的公式是正确的吗?您的总和将存储在x中的预测信息向量折叠成一个数字,但您的结果长度为 25。 -
是的,我确信我的公式是正确的: '1/n * sum( exp( b0 + b1*x1)* log(1+Y^ta )' 这相当于 '平均值(exp(b0 + b1*x1)* log(1+Y^ta)'
-
均值是一个数字。但是您正在建模 25。尝试删除总和,看看会发生什么
-
它没有总和但我的公式包含总和
-
nls 函数的输出给出了 ta 0
标签: r regression