#Load ggplot2 package for visualization
library(ggplot2)PROGRAM 6
Write a R script to construct a box plot showcasing the distribution of a continous variable, grouped by a categorical variable, using ggplot2’s fill aesthetic.
Step 1: Load Required Library
Loads the ggplot2 package. Required for creating box plots and other visualizations.
Step 2: Explore the In-Built Dataset
# Use the built-in 'iris' dataset
# 'Petal.Width' is a continous variable
# 'Species' is a categorical grouping variable
str(iris) # View structure of the dataset'data.frame': 150 obs. of 5 variables:
$ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
$ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
$ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
$ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
$ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
head(iris) # View sample data 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
str(iris) → Displays structure and data types head(iris) → Shows first few rows Helps identify: Petal.Width → Continuous variable Species → Categorical variable (grouping)
Step 3: Construct Box Plot With Grouping
Step 3.1
# Initialize ggplot with data aesthetic mappings
p <- ggplot(data = iris, aes(x = Species, y =
Petal.Width, fill = Species))x = Species → Groups data by species y = Petal.Width → Displays distribution of petal width fill = Species → Adds color based on category
# Add the box plot layer
p <- p + geom_boxplot()
pgeom_boxplot() → Creates box plot Shows: Median Quartiles Outliers
# Add the box plot layer
p <- p + geom_boxplot()+
theme_minimal()+
theme(legend.position = 'top')
labs(title="IRIS box plot", x='Species',y='Petal.Width')<ggplot2::labels> List of 3
$ x : chr "Species"
$ y : chr "Petal.Width"
$ title: chr "IRIS box plot"
ptheme_minimal() → Clean layout legend.position = ‘top’ → Moves legend to top labs() → Adds title and axis labels
Conclusion:
Used iris dataset for analysis Created box plot of Petal Width grouped by Species Applied fill aesthetic for better visualization Enhanced plot with theme and labels