如何解决在 R 中拟合数据并获得定义的最小值数
我有一个数据集,如下例所示,它有多个峰值。我想要峰值之间的最小值的 x 值。如果我需要定义多少个最小值,那不是问题(即我期望我的数据中有三个峰值,所以我可以告诉代码获得两个最小值。)
我使用 density()
来拟合数据,但我一直在获取多个最小值:
示例数据:
nn <- 1e4
set.seed(1)
betas<-rbeta(nn,3,2)
sims <- c(betas[1:(nn/2)]*2+1,betas[(nn/2+1):nn]*2+3,betas[(nn/2+2):nn]*3+4)
hist(sims)
我应该有一个介于 x
3 和 3.5 之间,以及 x
5 和 5.5 之间的最小值。我可以将结束算作最小值,但不是我的问题的优先级。
感谢任何帮助。
解决方法
与density()
拟合后
我将 mSTEM
包用于有效的 which.peaks()
function。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。