Program 13

Author

1NT23IS244 - SECTION D - VARSHA S

Write an R program to create multiple dot plots or group data, comparing the distribution of variables across different categories, using ggplot2’s position_dodge function.

Step 1 : Load the required library

library(ggplot2)
library(dplyr)

Attaching package: 'dplyr'
The following objects are masked from 'package:stats':

    filter, lag
The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union

Step 2 : Load the dataset

data(ToothGrowth)
head(ToothGrowth)
   len supp dose
1  4.2   VC  0.5
2 11.5   VC  0.5
3  7.3   VC  0.5
4  5.8   VC  0.5
5  6.4   VC  0.5
6 10.0   VC  0.5
str(ToothGrowth)
'data.frame':   60 obs. of  3 variables:
 $ len : num  4.2 11.5 7.3 5.8 6.4 10 11.2 11.2 5.2 7 ...
 $ supp: Factor w/ 2 levels "OJ","VC": 2 2 2 2 2 2 2 2 2 2 ...
 $ dose: num  0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 ...
table(ToothGrowth$dose)

0.5   1   2 
 20  20  20 

Step 3 : Create multiple dot plots

ToothGrowth$dose <- as.factor(ToothGrowth$dose)

ggplot(ToothGrowth, aes(x = dose, y = len, color = supp)) +
  geom_dotplot(
    binaxis = 'y',
    stackdir = 'center',
    position = position_dodge(width = 0.8),
    dotsize = 0.6,
    binwidth = 1.5
  ) +
  labs(title = "Dot plot of Toothlength by Dosage and Supplement type",
       x = "Dose",
       y = "Tooth length",
       color = "Supplement type") +
  theme_minimal()