Bird
Raised Fist0
R Programmingprogramming~5 mins

Histogram and density plots in R Programming

Choose your learning style10 modes available
Introduction

Histograms and density plots help us see how data is spread out. They show where most values are and how they group together.

To understand the distribution of exam scores in a class.
To check if data follows a normal pattern before analysis.
To compare the spread of heights between two groups.
To find out if there are any unusual values in sales data.
Syntax
R Programming
hist(x, breaks = "Sturges", col = "blue", main = "Histogram", xlab = "Values")
density_data <- density(x)
plot(density_data, main = "Density Plot", xlab = "Values")

hist() creates a histogram from numeric data.

density() calculates data density, and plot() draws the density curve.

Examples
Basic histogram with default settings.
R Programming
hist(data_vector)
Histogram with 20 bins, green color, and custom title and x-axis label.
R Programming
hist(data_vector, breaks = 20, col = "green", main = "My Histogram", xlab = "Data")
Calculate and plot the density curve of the data.
R Programming
density_data <- density(data_vector)
plot(density_data)
One-line code to plot density with a red line and title.
R Programming
plot(density(data_vector), main = "Density Plot", col = "red")
Sample Program

This program creates 100 random numbers around 50 with some spread. It then shows a histogram and a density plot to visualize the data distribution.

R Programming
set.seed(123)
data_vector <- rnorm(100, mean = 50, sd = 10)
hist(data_vector, breaks = 15, col = "skyblue", main = "Histogram of Data", xlab = "Values")
density_data <- density(data_vector)
plot(density_data, main = "Density Plot of Data", xlab = "Values", col = "darkgreen")
OutputSuccess
Important Notes

Histograms group data into bins to show frequency.

Density plots smooth out the data to show distribution shape.

You can adjust the number of bins in histograms to see more or less detail.

Summary

Histograms and density plots help visualize how data values spread.

Use hist() for bar-style frequency plots and density() with plot() for smooth curves.

Adjusting parameters like bins and colors makes plots clearer and prettier.

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

  1. Step 1: Understand histogram representation

    A histogram displays data grouped into bins using bars to show frequency counts.
  2. Step 2: Understand density plot representation

    A density plot shows a smooth curve estimating the data distribution, not bars.
  3. Final Answer:

    Histogram uses bars; density plot uses a smooth curve. -> Option B
  4. 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

  1. Step 1: Recall the base R function for histograms

    The correct function to create a histogram in base R is hist().
  2. Step 2: Check the options

    Only hist(data) is valid syntax; others are either incorrect function names or for density plots.
  3. Final Answer:

    hist(data) -> Option A
  4. 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

  1. Step 1: Understand hist() with breaks parameter

    The breaks=5 argument divides data into 5 bins for the histogram.
  2. 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.
  3. Final Answer:

    A histogram with 5 blue bars showing data distribution -> Option C
  4. 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

  1. Step 1: Check density() function usage

    The density() function returns density data but does not plot directly or accept col.
  2. Step 2: Correct plotting method

    To plot with color, use plot(density(data), col='red') instead.
  3. Final Answer:

    density() does not accept a col argument directly -> Option A
  4. 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

  1. Step 1: Plot first density with plot()

    Use plot(density(x), col='blue') to draw the first density curve in blue.
  2. Step 2: Add second density with lines()

    Use lines(density(y), col='red') to overlay the second density curve in red.
  3. Final Answer:

    plot(density(x), col='blue'); lines(density(y), col='red') -> Option D
  4. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard