ggplot2
আসল ডেটা মানগুলিতে কার্নেলের ঘনত্বের প্রায় কাছাকাছি ফাংশনের উপর ভিত্তি করে এখানে আরও একটি বৈকল্পিক রয়েছে:
approxdens <- function(x) {
dens <- density(x)
f <- with(dens, approxfun(x, y))
f(x)
}
মূল ডেটা (ঘনত্ব অনুমানের x এবং y মানগুলির সাথে একটি নতুন ডেটা ফ্রেম তৈরি করার পরিবর্তে) ব্যবহার করে ফেকটেড প্লটগুলিতে কাজ করার সুবিধা রয়েছে যেখানে কোয়ান্টাইল মানগুলি ডেটাটি গোষ্ঠীভুক্ত করে চলকের উপর নির্ভর করে:
কোড ব্যবহৃত
library(tidyverse)
library(RColorBrewer)
set.seed(1)
n <- 1e2
dt <- tibble(value = rnorm(n)^2)
approxdens <- function(x) {
dens <- density(x)
f <- with(dens, approxfun(x, y))
f(x)
}
probs <- c(0.75, 0.95)
dt <- dt %>%
mutate(dy = approxdens(value),
p = percent_rank(value),
pcat = as.factor(cut(p, breaks = probs,
include.lowest = TRUE)))
ggplot(dt, aes(value, dy)) +
geom_ribbon(aes(ymin = 0, ymax = dy, fill = pcat)) +
geom_line() +
scale_fill_brewer(guide = "none") +
theme_bw()
dt2 <- tibble(category = c(rep("A", n), rep("B", n)),
value = c(rnorm(n)^2, rnorm(n, mean = 2)))
dt2 <- dt2 %>%
group_by(category) %>%
mutate(dy = approxdens(value),
p = percent_rank(value),
pcat = as.factor(cut(p, breaks = probs,
include.lowest = TRUE)))
ggplot(dt2, aes(value, dy)) +
geom_ribbon(aes(ymin = 0, ymax = dy, fill = pcat)) +
geom_line() +
facet_wrap(~ category, nrow = 2, scales = "fixed") +
scale_fill_brewer(guide = "none") +
theme_bw()
ডিপেক্স প্যাকেজ (v0.2.0) দ্বারা 2018-07-13 এ তৈরি হয়েছিল ।