R - Как получить разницу / сумму двухшаговых функций? - PullRequest
0 голосов
/ 04 июня 2018

У меня есть 2 объекта функции шага (точнее, объекты ecdf).Как рассчитать пошаговую функцию, которая является разностью или суммой этих двух?

1 Ответ

0 голосов
/ 04 июня 2018

Зависит от того, для чего это нужно.Объект класса stepfun в некотором смысле является функцией;если a <- ecdf(rnorm(100)), то a(0) будет иметь значение, близкое к .5.Таким образом, вы можете добавить их, просто добавив функции - ecdf.sum <- function(x) { ecdf1(x) + ecdf2(x) }.Это даст что-то, что фактически является пошаговой функцией, но не класса stepfun или ecdf.

Независимо от того, что вы получите, не будет ecdf объект, потому что значения не будут иметьправильный диапазон.Но, по крайней мере, чтобы восстановить его как пошаговую функцию, вы можете разложить его на узлы:

knots.new <- sort(knots(ec1), knots(ec2))
ec.new <- stepfun(knots.new, c(0,ec1(knots.new) + ec2(knots.new)))

* c(0, ... потому что вам нужно еще одно значение, чем узлы (для значения слева дляфункция шага), а для объектов типа ecdf 0 является безопасным значением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...