R package to find cutoff points on knee curves.
Example: 100 random simulated points (gray) and the knee point (red) found using this package.
KneeArrower is available on CRAN.
In R, run install.packages("KneeArrower")
to install.
Alternatively, to install this package from GitHub, first install the prerequisite signal
package and then this repository:
library(devtools)
install.packages("signal")
install_github("agentlans/KneeArrower")
The following code shows example of finding knee points. More options are available. Please see the package vignette for more details.
library(KneeArrower)
# Generate an example knee curve
x <- seq(0, 5, 0.05)
y <- log(1+x)
# Find the cutoff point.
# By default, it's the point at which the first derivative is half of maximum along the curve.
findCutoff(x, y)
# For more information on the options, view the help file for findCutoff
?findCutoff
How does this work?
What does this mean?
Why doesn't the output point look like a knee point?
Try plotting x and y coordinates on the same scale.
Also, if you're using the first derivative cutoff method (default), you can adjust the slope to get a higher or lower point on the curve. Please see the vignettes for details.
The output point doesn't match the knee point I found using calculus!
What happens if there's more than one knee point?
How come I can't install vignettes?
devtools
install doesn't install vignettes by default.Copyright 2018, 2019, 2020-2022 Alan Tseng
GNU General Public License v3
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.