Как извлечь значения, соответствующие распределению Гаусса в R?

У меня есть кадр данных X с двумя столбцами a и b, a имеет символ класса, а b - числовой класс. Я установил гауссово распределение, используя функцию fitdist (пакет fitdistrplus) на b.

data.fit <- fitdist(x$b,"norm", "mle")

Я хочу извлечь элементы в столбце a, которые попадают в 5% правый хвост подобранного гауссовского распределения.
Я не знаю, как действовать дальше, потому что мои знания о подходящем распределении ограничены.
Нужно ли мне сохранять соответствующие элементы в столбце a, для которых b больше, чем значение, полученное для 95%?
Или подгонка подразумевает, что для каждого значения в b были созданы новые значения, и я должен использовать эти значения?

Спасибо


person fabSir    schedule 01.05.2015    source источник


Ответы (1)


вызвав unclass(data.fit), вы можете увидеть все части, составляющие объект data.fit, в том числе:

$estimate
     mean        sd 
0.1125554 1.2724377 

что означает, что вы можете получить доступ к расчетному среднему и стандартному отклонению через:

data.fit$estimate['sd']
data.fit$estimate['mean']

Чтобы вычислить верхний 5-й процентиль подобранного распределения, вы можете использовать функцию qnorm() (q для квантиля, BTW) следующим образом:

threshold <- 
    qnorm(p = 0.95,
          mean=data.fit$estimate['mean'],
          sd=data.fit$estimate['sd'])

и вы можете подмножить свой data.frame x следующим образом:

x[x$b > threshold,# an indicator of the rows to return
  'a']# the column to return
person Jthorpe    schedule 01.05.2015