📖 Scenario: You are a data analyst working with a small dataset of daily temperatures. You want to understand how the temperatures are distributed by creating a histogram and a density plot.
🎯 Goal: Build an R script that creates a vector of temperature data, sets a bin width for the histogram, generates both a histogram and a density plot using base R plotting functions, and then displays the plots.
📋 What You'll Learn
Create a numeric vector called temperatures with the exact values: 22, 25, 19, 24, 30, 28, 21, 23, 27, 26
Create a numeric variable called bin_width and set it to 3
Use the hist() function with breaks=seq() to create a histogram of temperatures with bins of width bin_width
Use the plot() function with density() to create a density plot of temperatures
Print both plots so they are visible
💡 Why This Matters
🌍 Real World
Histograms and density plots help you understand how data points are spread out, which is useful in weather analysis, sales data, or any measurements.
💼 Career
Data analysts and scientists use these plots to explore data distributions before making decisions or building models.
Progress0 / 4 steps
1
Create the temperature data vector
Create a numeric vector called temperatures with these exact values: 22, 25, 19, 24, 30, 28, 21, 23, 27, 26
R Programming
Hint
Use the c() function to combine numbers into a vector.
2
Set the bin width for the histogram
Create a numeric variable called bin_width and set it to 3
R Programming
Hint
Just assign the number 3 to the variable bin_width.
3
Create the histogram and density plot
Use the hist() function with breaks=seq() to create a histogram of temperatures with bins of width bin_width. Then use the plot() function with density() to create a density plot of temperatures.
R Programming
Hint
Use seq(min(temperatures), max(temperatures) + bin_width, by=bin_width) to create breaks for the histogram bins.
Use density() to calculate density and plot() to draw it.
4
Display the plots
Run the code so that both the histogram and the density plot are displayed in the R plotting window.
R Programming
Hint
Just run the full code to see both plots in the R plotting window.
Practice
(1/5)
1. What is the main difference between a histogram and a density plot in R?
easy
A. Histogram shows exact values; density plot shows counts only.
B. Histogram uses bars; density plot uses a smooth curve.
C. Histogram is for categorical data; density plot is for numeric data.
D. Histogram requires ggplot2; density plot does not.
Solution
Step 1: Understand histogram representation
A histogram displays data grouped into bins using bars to show frequency counts.
Step 2: Understand density plot representation
A density plot shows a smooth curve estimating the data distribution, not bars.
Final Answer:
Histogram uses bars; density plot uses a smooth curve. -> Option B
Quick Check:
Histogram = bars, Density plot = smooth curve [OK]
Hint: Bars mean histogram; smooth curve means density plot [OK]
Common Mistakes:
Thinking histogram shows exact values instead of grouped counts
Confusing density plot with bar charts
Assuming histograms only work with categorical data
2. Which of the following is the correct R code to create a histogram of the numeric vector data?
easy
A. hist(data)
B. plot.histogram(data)
C. histogram(data)
D. density(data)
Solution
Step 1: Recall the base R function for histograms
The correct function to create a histogram in base R is hist().
Step 2: Check the options
Only hist(data) is valid syntax; others are either incorrect function names or for density plots.
Final Answer:
hist(data) -> Option A
Quick Check:
hist() creates histograms in R [OK]
Hint: Use hist() for histograms in base R [OK]
Common Mistakes:
Using non-existent function histogram()
Confusing density() with hist()
Trying plot.histogram() which is invalid
3. What will be the output of the following R code?
set.seed(1)
data <- rnorm(100)
hist(data, breaks=5, col='blue')
medium
A. An error because breaks cannot be numeric
B. A density plot with 5 blue lines
C. A histogram with 5 blue bars showing data distribution
D. A scatter plot of 100 points
Solution
Step 1: Understand hist() with breaks parameter
The breaks=5 argument divides data into 5 bins for the histogram.
Step 2: Check color and plot type
The col='blue' colors the bars blue; hist() creates a bar plot, not a density or scatter plot.
Final Answer:
A histogram with 5 blue bars showing data distribution -> Option C
Quick Check:
hist() + breaks=5 + col='blue' = blue bars histogram [OK]
Hint: breaks sets bar count; col sets bar color [OK]
Common Mistakes:
Thinking breaks=5 creates density plot
Assuming breaks cannot be numeric
Confusing hist() with scatter plot
4. Identify the error in this R code for plotting a density plot:
data <- rnorm(50)
density(data, col='red')
medium
A. density() does not accept a col argument directly
B. rnorm() cannot generate 50 values
C. Missing parentheses after density
D. data must be a data frame, not a vector
Solution
Step 1: Check density() function usage
The density() function returns density data but does not plot directly or accept col.
Step 2: Correct plotting method
To plot with color, use plot(density(data), col='red') instead.
Final Answer:
density() does not accept a col argument directly -> Option A
Quick Check:
density() returns data; plot() colors it [OK]
Hint: Use plot(density()) to color density plots [OK]
Common Mistakes:
Passing col directly to density()
Thinking density() plots automatically
Assuming rnorm() can't generate 50 values
5. You want to compare the distribution of two numeric vectors x and y in R using a single plot. Which code correctly overlays their density plots with different colors?
hard
A. plot(density(x, col='blue'), density(y, col='red'))
B. hist(x, col='blue'); hist(y, col='red')
C. density(x, col='blue'); density(y, col='red')
D. plot(density(x), col='blue'); lines(density(y), col='red')
Solution
Step 1: Plot first density with plot()
Use plot(density(x), col='blue') to draw the first density curve in blue.
Step 2: Add second density with lines()
Use lines(density(y), col='red') to overlay the second density curve in red.
Final Answer:
plot(density(x), col='blue'); lines(density(y), col='red') -> Option D
Quick Check:
plot() then lines() overlays densities with colors [OK]
Hint: plot() first density, lines() add second [OK]
Common Mistakes:
Using hist() which creates separate plots
Passing col to density() instead of plot() or lines()
Trying to plot both densities in one plot() call
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.