library(ggplot2)Warning: package 'ggplot2' was built under R version 4.5.3
Develop an R function to draw a density curve representing the probability density function of a continuous variable, with separate curves for each group, using ggplot2.
library(ggplot2)Warning: package 'ggplot2' was built under R version 4.5.3
plot_density_by_group <- function(data, continuous_var, group_var, fill_colors = NULL) {
if (!(continuous_var %in% names(data))|| !(group_var %in% names(data)))
{
stop("Invalid column names.Make sure both variables exist in the dataset.")
}
p <- ggplot(data, aes_string(x= continuous_var, color = group_var , fill = group_var))+
geom_density(alpha =0.4)+
labs(title = paste("Density PLot of " , continuous_var, "by", group_var),
x = "continuous_var ",
y = "Density"
)+
theme_minimal()
if(!is.null(fill_colors)){
p <- p + scale_fill_manual(values = fill_colors)+
scale_color_manual(values = fill_colors)
}
return(p)
}plot_density_by_group(iris, "Sepal.Length", "Species")Warning: `aes_string()` was deprecated in ggplot2 3.0.0.
ℹ Please use tidy evaluation idioms with `aes()`.
ℹ See also `vignette("ggplot2-in-packages")` for more information.