Jest wile różnych sposobów, żeby to zrobić, jedna z propozycji::
# instaluje pakiet dplyr
install.packages('dplyr')
require('dplyr')
# tworze przykladowe dane
d1 <- runif(25)
d2 <- rnorm(25)
# umieszczam je w data.frame
data <- data.frame(distribution = c(rep("d1", 25), rep("d2", 25)),
values = c(d1, d2)
)
# wielkosci proob
l1 <- length(d1)
l2 <- length(d2)
data <- data %>%
arrange(values) %>% # sortuje po wartosciach
mutate(cdf1 = cumsum(ifelse(distribution == "d1", 1, 0)) / l1, # tworze pierwsza dystrybuante
cdf2 = cumsum(ifelse(distribution == "d2", 1, 0)) / l2) %>% # tworze druga dystrybuante
group_by(values) %>% # zabezpieczam sie na wypadek gdyby byla wiecej niz jedna taka sama wartosc
summarise(cdf1 = max(cdf1), cdf2 = max(cdf2)) %>%
select(cdf1, cdf2)