library(ggplot2)Program 4
Develop a script in R to produce a bar graph displaying the frequency distribution of categorical data in a given dataset, grouped by a specific variable, using ggplot2.
Step 1: Load the necessary libraries
Step 2: Load the dataset
# Load dataset
data <- mtcars
# Display first few rows
head(data) mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
Step 3: Convert numerical data to categorical data
data$cyl <- as.factor(data$cyl)
data$gear <- as.factor(data$gear)Step 4: Create a bar graph
# Create a bar graph
ggplot(data, aes(x = cyl, fill = gear)) +
geom_bar(position = "dodge") + # Grouped bar chart
labs(title = "Frequency of Cylinders Grouped by Gear Type ",
x = "Number of Cylinders",
y = "Count",
fill = "Gears") + # Legend title
theme_minimal()Explanation of the Plot
X-Axis (cyl)
- Displays cylinder categories (4, 6, 8 cylinders).
Y-Axis (Frequency Count)
- Represents the number of cars in each category.
Color Fill (gear)
- Differentiates cars based on number of gears (3, 4, 5 gears).
Grouped Bars (position = "dodge")
- Ensures bars are side by side instead of stacked.
Minimal Theme (theme_minimal())
- Provides a clean and readable layout.