找到弯曲的肘部/膝盖

时间:2017-01-07 07:12:14

标签: r data-mining loess inflection

我有这些数据:

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)

enter image description here

我想找到一种方法让肘/膝点位于x=6.5

附近

我认为拟合loess曲线然后采用二阶导数可能有效:

plot(x,predict(loess(y ~ x)),type="l")

enter image description here

看起来不会做这个工作。

有什么想法吗?

3 个答案:

答案 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)
}

enter image description here

y=f(x)

enter image description here

答案 1 :(得分:0)

您现在可以使用soilphysics package中的 maxcurv 函数以不同的方法找到膝盖/肘部。

答案 2 :(得分:0)