【发布时间】:2018-09-24 13:50:55
【问题描述】:
我想用下一个数据估计一个函数的两个断点:
df = data.frame (x = 1:180,
y = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 2, 2, 4, 2, 2, 3, 2, 1, 2,0, 1, 0, 1, 4, 0, 1, 2, 3, 1, 1, 1, 0, 2, 0, 3, 2, 1, 1, 1, 1, 5, 4, 2, 1, 0, 2, 1, 1, 2, 0, 0, 2, 2, 1, 1, 1, 0, 0, 0, 0,
2, 3, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))
# plotting y ~ x
plot(df)
我知道该函数有两个断点:
y = y1 if x < b1;
y = y2 if b1 < x < b2;
y = y3 if b2 < x;
而我想找到b1和b2来拟合一种如下形式的矩形函数
谁能帮助我或指出正确的方向?谢谢!
【问题讨论】:
-
如果你能告诉我们数据来自哪里,那么很可能已经有一些特定领域的 R 包可以解决这个问题。
-
@zx8754 来源于动物行为实验心理学; y 是响应率 (responses/sec) 作为经过时间 (x, in sec) 的函数。我想使用简单的 OLS。
标签: r linear-regression piecewise