假设我有一个数字向量,我想找到一个常规截止值。例如:
35, 30, 33, 36
在这种情况下,我想只提取一个计算30
的子集。在这种情况下,截止值将为x <- c(1, 20, 42, 13, 118, 149, 130, 30, 11, 32, 120, 0.5, 0.03)
,如果没有硬编码确定的截止值,我希望我的代码能够适应不同的数字向量,以便找到截止值。
另一个例子是:
118
在这种情况下,合理的截止值将在quantile
左右。
目前我很难对截止值进行编码,因为我正在处理简单的情况,但是我想让这个过程更加模块化以获得更多变量的向量。
答案 0 :(得分:2)
您可以使用cutoff <- function(y, prob=0.7) y[y > quantile(y, prob)]
x <- c(35, 2, 3, 30, 1, 4, 33, 6, 36)
cutoff(x)
[1] 35 33 36
x <- c(1, 20, 42, 13, 118, 149, 130, 30, 11, 32, 120, 0.5, 0.03)
cutoff(x)
[1] 118 149 130 120
功能
cutoff(x, 0.8)
[1] 149 130 120
您可以根据需要定义不同的概率
JOIN