Program-10

Author

Greeshma PM(1nt23is078)Section-B

Develop an R function to draw a density curve representing the probability function of a continuous variable with separate curvesfor each group,using ggplot2

Step1: Load the library

library(ggplot2)

Step2: Define the function

plot_density_by_group <- function(data, numeric_var , group_var, fill =TRUE){
  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

Step4: 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.