library(ggplot2)
Program 10
10. Develop an R function to draw a density curve representing the probability function of a continuous variable, with separate curves for each group, using ggplot2
Step 1: Load the library
Step 2: Define the function
<- function(data, numeric_var, group_var, fill = TRUE) {
plot_density_by_group ggplot(data, aes_string(x = numeric_var, color = group_var, fill = group_var)) +
geom_density(alpha = if (fill) 0.4 else 0) +
labs(
title = paste("Density Plot of", numeric_var, "by", group_var),
x = numeric_var,
y = "Density"
+
) theme_minimal()
}
Step 3:Load Dataset
data(iris)
head(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
step 4: Call the Function with Example
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.