Introduction

For this project, I used the built-in iris dataset, which contains 150 observations of three flower species: setosa, versicolor, and virginica. The goal of this milestone is to demonstrate that I can work with the data, perform exploratory analysis, and prepare for building a prediction algorithm and Shiny app.

Data Loading and Summary

# Load the iris dataset
data <- iris

# Display the first few rows
head(data)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa
# Display summary statistics for the dataset
summary(data)
##   Sepal.Length    Sepal.Width     Petal.Length    Petal.Width   
##  Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100  
##  1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300  
##  Median :5.800   Median :3.000   Median :4.350   Median :1.300  
##  Mean   :5.843   Mean   :3.057   Mean   :3.758   Mean   :1.199  
##  3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800  
##  Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500  
##        Species  
##  setosa    :50  
##  versicolor:50  
##  virginica :50  
##                 
##                 
## 
# Count observations by species
table(data$Species)
## 
##     setosa versicolor  virginica 
##         50         50         50
# Check if there are any missing values
sapply(data, function(x) sum(is.na(x)))
## Sepal.Length  Sepal.Width Petal.Length  Petal.Width      Species 
##            0            0            0            0            0
# Load the ggplot2 library for plotting
library(ggplot2)

# Create a histogram of Sepal Length
ggplot(data, aes(x = Sepal.Length)) +
  geom_histogram(binwidth = 0.5, fill = "blue", color = "black") +
  theme_minimal() +
  labs(title = "Distribution of Sepal Length", x = "Sepal Length", y = "Frequency")

# Scatter plot of Sepal Length vs Petal Length, colored by species
ggplot(data, aes(x = Sepal.Length, y = Petal.Length, color = Species)) +
  geom_point() +
  theme_minimal() +
  labs(title = "Scatter Plot: Sepal vs Petal Length", x = "Sepal Length", y = "Petal Length")