У меня есть вектор
x <- c(1,2,3,4,5,5,5,6,6,6,6,
7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
7,7,7,7,7,7,7,7,8,8,8,8,9,9,9,10)
(мой фактический вектор имеет длину> 10000), и я хотел бы найти интервалы, в которых лежит 90% плотности. Является ли quantile(x, probs=c(0.05,0.95), type=5)
наиболее подходящим или есть другой способ?
Ответы:
Как указано выше, существует много разных способов определения интервала, который включает 90% плотности. Еще не указанным является самый высокий [задний] интервал плотности ( википедия ), который определяется как «кратчайший интервал, для которого разница в значениях эмпирической функции накопленной плотности конечных точек является номинальной вероятностью».
источник
Это, безусловно, кажется самым простым подходом. Функция довольно быстрая. Я использую его все время на выборках, которые в сотни раз больше той, которую вы используете, и стабильность оценок должна быть хорошей для вашего размера выборки.
В других пакетах есть функции, которые предоставляют более полные наборы описательной статистики. Я использую один
Hmisc::describe
, но есть несколько других пакетов сdescribe
функциями.источник
Ваш путь кажется разумным, особенно с дискретными данными в примере,
но другой способ - использовать вычисленное ядро плотности:
источник
Да. :-). Вы можете найти вывод
stats::density
более полезным.источник