我有这些数据:
x <- c(6.626,6.6234,6.6206,6.6008,6.5568,6.4953,6.4441,6.2186,6.0942,5.8833,5.702,5.4361,5.0501,4.744,4.1598,3.9318,3.4479,3.3462,3.108,2.8468,2.3365,2.1574,1.899,1.5644,1.3072,1.1579,0.95783,0.82376,0.67734,0.34578,0.27116,0.058285)
y <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32)
看起来像:
plot(x,y)
我想找到一种方法让肘/膝点位于x=6.5
我认为拟合loess
曲线然后采用二阶导数可能有效:
plot(x,predict(loess(y ~ x)),type="l")
看起来不会做这个工作。
有什么想法吗?
答案 0 :(得分:6)
我认为你想要找到函数 listEvent.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
Fragment_03 f3 = new Fragment_03();
FragmentManager fragmentManager =((FragmentActivity)getContext()).getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.content_frame, new Fragment_03())
.commit();
});
的导数具有巨大价值跳跃的点。您可以尝试以下操作,因为您可以看到可以有一个或多个这样的点,具体取决于我们选择的阈值(对于巨大的跳跃):
int sumDivisibeBy(int R, int N)
{
int K = R / N;
int SEQSUM = ((K*(K + 1)) / 2));
return (N*SEQSUM)
}
y=f(x)
答案 1 :(得分:0)
您现在可以使用soilphysics package中的 maxcurv 函数以不同的方法找到膝盖/肘部。
答案 2 :(得分:0)
有这个图书馆
https://www.rdocumentation.org/packages/SamSPECTRAL/versions/1.26.0/topics/kneepointDetection
.environmentObject(_:)