── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr 1.1.4 ✔ readr 2.1.5
✔ forcats 1.0.0 ✔ stringr 1.5.1
✔ ggplot2 3.5.1 ✔ tibble 3.2.1
✔ lubridate 1.9.4 ✔ tidyr 1.3.1
✔ purrr 1.0.4
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag() masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
The source for this dataset is the New York State Department of Conservation and the National Weather Service of 1973 for five months from May to September recorded daily.
p1 <- airquality |>ggplot(aes(x=Temp, fill=Month)) +geom_histogram(position="identity")+scale_fill_discrete(name ="Month", labels =c("May", "June","July", "August", "September")) +labs(x ="Monthly Temperatures from May - Sept", y ="Frequency of Temps",title ="Histogram of Monthly Temperatures from May - Sept, 1973",caption ="New York State Department of Conservation and the National Weather service")
p1
`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Plot 2: Improve the histogram of Average Temperature by Month
p2 <- airquality |>ggplot(aes(x=Temp, fill=Month)) +geom_histogram(position="identity", alpha=0.5, binwidth =5, color ="white")+scale_fill_discrete(name ="Month", labels =c("May", "June","July", "August", "September")) +labs(x ="Monthly Temperatures from May - Sept", y ="Frequency of Temps",title ="Histogram of Monthly Temperatures from May - Sept, 1973",caption ="New York State Department of Conservation and the National Weather Service")
p2
Plot 3: Create side by side boxplots categorized by Month
p3 <- airquality |>ggplot(aes(Month, Temp, fill = Month)) +labs(x ="Months from May through September", y ="Temperatures", title ="Side-by-Side Boxplot of Monthly Temperatures",caption ="New York State Department of Conservation and the National Weather Service") +geom_boxplot() +scale_fill_discrete(name ="Month", labels =c("May", "June","July", "August", "September"))
p3
Plot 4: Side by Side Boxplots in gray Scale
p4 <- airquality |>ggplot(aes(Month, Temp, fill = Month)) +labs(x ="Monthly Temperatures", y ="Temperatures", title ="Side-by-Side Boxplot of Monthly Temperatures",caption ="New York State Department of Conservation and the National Weather Service") +geom_boxplot()+scale_fill_grey(name ="Month", labels =c("May", "June","July", "August", "September"))
p4
Plot 5: Bar Graph
p5 <- airquality |>ggplot(aes(x= Wind, fill = Day )) +geom_bar(alpha = .7, position ="dodge") +labs(x ="Wind ", y ="Day", title ="Side-by-Side Bar Graph of Airquality's wind per Day") +theme(axis.text.x =element_text(angle =0))
p5
Warning: The following aesthetics were dropped during statistical transformation: fill.
ℹ This can happen when ggplot fails to infer the correct grouping structure in
the data.
ℹ Did you forget to specify a `group` aesthetic or to convert a numerical
variable into a factor?
Plot Type Created
The code creates a side-by-side bar graph (also known as a dodged bar chart) using the airquality dataset. The x-axis represents wind speed (Wind), while the fill aesthetic maps to the Day variable, meaning each bar is colored by the day of the month. Bars for different days are placed next to each other (side-by-side) rather than stacked.
Special code Used
fill = Day: This aesthetic assigns a different color to each day of the month, enabling side-by-side comparison across days.
position = “dodge” in geom_bar(): This causes the bars to appear next to each other within each bin, rather than being stacked.
alpha = 0.7: Adds some transparency to the bars, making overlapping colors slightly easier to interpret.
theme(axis.text.x = element_text(angle = 0)): Ensures the x-axis text (wind speed bins) is horizontally aligned, which improves readability.
labs(): Customizes the axis labels and plot title for clarity.