首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >R中的S型曲线拟合

R中的S型曲线拟合
EN

Stack Overflow用户
提问于 2013-10-24 19:54:32
回答 1查看 7.4K关注 0票数 5

我是R的初学者,我正在尝试将一条曲线拟合到(例如)可能如下所示的数据集上:

代码语言:javascript
运行
AI代码解释
复制
(x- value)  (y-value)
105 423
115 471
125 567
135 808
145 921.5
155 1040

X值表示刺激量,y值表示运动响应(以uV表示)。这些是10个受试者的平均值,其中每个受试者的x值是相同的。

有人告诉我,这个数据集通常遵循S型拟合。我试着用下面的代码来拟合它:

代码语言:javascript
运行
AI代码解释
复制
fit <- lm( y ~ poly(x, 3) )

但我不确定这是否是合适的方式:

到目前为止,我的代码如下所示:

代码语言:javascript
运行
AI代码解释
复制
p <- ggplot (data, aes(x, y)) +
  geom_point(shape= 21, fill= "blue", colour= "black", size=2) +
  xlab("X value") + ylab("Y value") +
  geom_smooth(method= "lm", se= FALSE,  colour= "red", formula=y ~ poly(x, 3, raw=TRUE)) +
  geom_errorbar(aes(ymin=y-SE, ymax=y+SE), width=.9)+ 
  ggtitle ("Title")
p

提前感谢,任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2013-10-24 22:25:44

我不知道poly()函数是如何工作的,但如果你想要一个三阶多项式拟合,只需使用:

代码语言:javascript
运行
AI代码解释
复制
   lm1=lm(y~I(x^3)+I(x^2)+x)

这与上面的玩具数据非常吻合。拐点处的坡度。我会把二阶导数设为0,然后求解x,然后计算x处的第一个导数。

但我认为你会更喜欢逻辑增长模型。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19575339

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文