2014-09-05 37 views
0

我有一个不平滑的曲线,需要确定模式。对于为此我使用smooth.spline(X,Y)函数平滑的数据,现在我想要计算平滑数据平滑数据并在R中找到最大值

x<-vect.1 
y<-vect.2 
plot(x,y,type='l') 
smth<-smooth.spline(x,y) 
lines(smth,col='red',lwd=2) 

data graph along with its smoothed curve

我目前的做法的模式或最大简直是查找这个x给了我最大的y,它不那么准确。有没有更好的方法来做到这一点?

回答

0
psmth <- predict(smth, x= seq(1,100, by=0.1)) 
mode_psmth <- psmth$y[ which.max(psmth$y) ] 

甚至:

mode_psmth <- max(psmth$y) 

如果这不是 “足够准确”,然后请解释原因。

+0

谢谢我认为它应该是psmth $'x'[which.max(psmth $'y')]去工作,你可能知道主管很难说服,他们希望计算机能够告诉数字不是眼睛! – user3015703 2014-09-05 05:11:31

+0

对......它可能应该是不同的东西,但我认为'psmth $ y'将是模式。还有我认为使用'max(psmth $ y)'会更容易吗?当我提供可复制的测试用例时,我测试我的代码。 – 2014-09-05 16:02:55

相关问题