膝盖箭头指南

曾荫权(Alan Tseng)

2020-09-17

输入数据

首先,我们需要加载包并加载定义膝盖曲线的点的坐标。以下是一个随机生成的膝盖曲线示例:

图书馆(膝盖箭头)

设置种子(12345)
x个<- 运行(100,最小值=0,最大值=4)
年<- -经验(-x)* (1+rnorm公司(100)* 0.10)* 4
情节(x,y,多氯联苯=20,科尔=“灰色”)

膝盖曲线可以增加或减少,向上凹或向下凹。

寻找截止点

使用查找截止值函数,使用一阶导数截点法或最大曲率法查找曲线上的截点。

注意,截止点并不精确,因为必须使用曲线拟合来估计导数。

一阶导数截止

此方法沿曲线找到斜率为最大值给定分数的点。这是默认方法。

例如,这里是切线斜率为其最大值一半的点。

截止点<- 查找截止值(x,y,方法=“第一个”,0.5)
截止点
##x美元## [1] 1.017362## ##美元## [1] -1.448078
情节(x,y,多氯联苯=20,科尔=“灰色”)
(剪切点,科尔=“红色”,cex公司=,多氯联苯=20)

通过将一阶导数截断设置为0到1之间的不同值,可以在曲线上设置更高或更低的截断。

阈值<- c(c)(0.25,0.5,0.75,1)

#找到每个阈值的截止点
截止点<- 重叠地(阈值,功能(i){
  查找截止值(x,y,方法=“第一个”,i)
})
x坐标<- 愚蠢的(截止点,功能(p) 第页$x)
y坐标<- 愚蠢的(截止点,功能(p) 第页$年)

#在散点图上绘制截止点
情节(x,y,多氯联苯=20,科尔=“灰色”)
(x.coord、y.coord、,科尔=“红色”,多氯联苯=20)
文本(x.coord、y.coord、,标签=阈值,位置=4,科尔=“红色”)

最大曲率截止

此方法查找与曲线相切的圆具有最小半径的点。

截止点<- 查找截止值(x、y,方法=“曲率”)
截止点
##x美元##[1]2183521## ##美元## [1] -0.4642701
情节(x,y,多氯联苯=20,科尔=“灰色”)
(截止点,科尔=“蓝色”,cex公司=,多氯联苯=20)