【发布时间】:2016-04-13 19:16:42
【问题描述】:
使用mtcars 数据集,我试图将mpg 的折线回归拟合确定为hp 和wt 的函数,断点仅来自hp。代码如下:
mpg = mtcars$mpg
wt = mtcars$wt
hp = mtcars$hp
reg = lm (mpg ~ hp +wt)
hp_thresh = 150
wt_thresh = 3
library(segmented)
seg.o = segmented (reg,seg.Z=~hp+wt, psi=list (hp=hp_thresh, wt=wt_thresh))
fted = broken.line (seg.o, term="hp") # mpg fit for hp breakpoints
fted$fit 值没有意义(将它们与 mpg 值进行比较)。我想在函数的使用中我缺少一些简单的东西。
编辑:
进一步澄清:我希望仅使用 mpg 和 hp 之间的分段关系,但仍以线性方式包括 wt。怎么可能做到这一点?
我尝试在segmented() 的输入中使用hp_thresh,以便只为hp 建立断开的关系,但我收到此错误:“seg.Z 或psi 中的术语数量错误”。
【问题讨论】:
-
segmented()和broken.line()来自哪里? -
请不要编辑问题,使现有答案变得毫无意义。您首先询问了对
broken.lines()输出的解释。我试图保留这部分并将您更清晰的问题添加为明确标记的编辑。这样,我的答案作为原始问题的答案仍然有效。我现在将添加编辑的答案。 -
Stibu - 我明白,会更加小心。请注意,我的说明仅针对问题的前两行,我在其中特别询问“尝试确定 mpg 的折线回归拟合作为 hp 和 wt 的函数,断点仅来自 hp”。感谢您的详细回复。谢谢。
标签: r linear-regression lm non-linear-regression