Зависит от того, для чего это нужно.Объект класса 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 является безопасным значением.