在R中找到一个阈值

时间:2015-07-11 22:54:59

标签: r dataframe

我有followind数据框:

element    type     values
elem1    control    14.580546
elem2    decoy      1.863077
elem3    control    15.595858
elem4    control    14.822892
elem5    decoy      8.922175
elem6    control    17.484545

我必须找到一个阈值T,其中的元素类型为" decoy"是"控制"的5%的元素。在误解的情况下,我将图纸链接放在帖子中:https://yadi.sk/i/Guxu32nqhoxmi

我如何在R中做到这一点?非常感谢提前。

1 个答案:

答案 0 :(得分:0)

请注意,阈值仅取决于“诱饵”的分布。

library(ggplot2)

df = rbind(
  data.frame(values=rnorm(10000, mean=0, sd=1), type="decoy"),
  data.frame(values=rnorm(10000, mean=2, sd=.5), type="control")
)

threshold <- quantile(df$values[df$type=="decoy"], probs=0.95)

ggplot(df, aes(x=values, color=type)) + geom_density() + geom_vline(xintercept=threshold)

enter image description here