如何找到所有曲线的数字

时间:2016-06-04 10:52:33

标签: r

我的数据如下所示

docker-compse

我想找到:

  • 此数据中的曲线数量(在本例中为5)
  • 曲线开始的起始值和曲线结束的结束值。

1 个答案:

答案 0 :(得分:1)

i <- which(diff(sign(diff(y)))<0)+1L;
length(i); ## number of local maxima
## [1] 5
i; ## indexes of local maxima
## [1] 12 24 36 48 60

当然,通过反转比较可以对局部最小值做同样的事情:

j <- which(diff(sign(diff(y)))>0)+1L;
length(j); ## number of local minima
## [1] 6
j; ## indexes of local minima
## [1]  7 18 30 41 53 71

您可以轻松地在局部最大值和最小值处绘制点,如下所示:

points(x[i],y[i]);
points(x[j],y[j]);

plot

根据您问题的措辞,我怀疑您确实想要由6个本地最小值分隔的5个分段。因此j是你的家伙。 (您可以使用length(i)length(j)-1L来获取细分计数。)