Мне нужно рассчитать интегральную функцию распределения выборки данных.
Есть ли что-то похожее на hist () в R, которое измеряет функцию кумулятивной плотности?
У меня есть попытки ecdf (), но я не могу понять логику.
r
distributions
cdf
Emanuele
источник
источник
x
тебя просто пишиP(x)
. Обратите внимание, что этоx
может быть вектором (см. Последние пару предложений моего ответа.)Похоже, что вам нужно, чтобы получить накопленное распределение (вероятность получить значение <=, чем x в образце), ecdf возвращает вам функцию, но, похоже, она создана для построения графика, и поэтому аргумент этой функции если бы это была лестница, был бы указатель протектора.
Вы можете использовать это:
К сожалению, использование этой функции не очень быстро. Я не знаю, есть ли у R функция, которая делает это, возвращая вам функцию, которая была бы более эффективной.
источник
R
действительно, вычисляет ECDF: его аргумент является потенциальным значением случайной величины и возвращает значения в интервале . Это легко проверить. Например, возвращает . Обобщенной инверсией ECDF является квантильная функция, реализованная в .ecdf(c(-1,0,3,9))(8)
0.75
quantile
R
Я всегда находил
ecdf()
немного запутанным. Плюс я думаю, что это работает только в одномерном случае. Заканчивал свою собственную функцию вместо этого.Сначала установите data.table . Затем установите мой пакет mltools (или просто скопируйте метод empirical_cdf () в вашу среду R.)
Тогда это так же просто, как
CDF вектора
CDF столбца 'x' dt
CDF столбцов 'x' и 'y' из dt
источник
друг, вы можете прочитать код в этом блоге.
более подробную информацию можно найти по следующей ссылке:
r cdf и гистограмма
источник