data analysis on iris dataset. present inbuilt on rstudio. The Iris flower dataset is a widely used dataset in machine learning, containing 150 samples of Iris flowers from three species: Iris setosa, Iris virginica, and Iris versicolor.
test_data=iris
summary(test_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
##
##
##
str(test_data)
## 'data.frame': 150 obs. of 5 variables:
## $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
## $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
## $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
## $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
## $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
head(test_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
You can also embed plots, for example:
# Barplot
library(ggplot2)
data_barplot <- aggregate(Sepal.Length ~ Species, data = iris, mean)
barplot <- ggplot(data_barplot, aes(x = Species, y = Sepal.Length)) +
geom_bar(stat = "identity", fill = "blue") +
labs(title = "Barplot of Sepal Length by Species",
x = "Species", y = "Mean Sepal Length")
barplot
sepal length of virginica is more.
# Histogram
histogram <- ggplot(iris, aes(x = Sepal.Length, fill = Species)) +
geom_histogram(binwidth = 0.2, position = "identity", alpha = 0.7) +
labs(title = "Histogram of Sepal Length by Species",
x = "Sepal Length", y = "Frequency",
fill = "Species")
print(histogram)
It gives insights into the spread and frequency of Sepal Length values for each species.
#pie chart
data_pie <- table(iris$Species)
piechart <- ggplot() +
geom_bar(stat = "identity", aes(x = 1, y = as.numeric(data_pie), fill = names(data_pie))) +
coord_polar(theta = "y") +
labs(title = "Pie Chart of Species Distribution")
print(piechart)
count of species is same.
# Scatterplot
scatterplot <- ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point() +
labs(title = "Scatterplot of Sepal Length vs Sepal Width",
x = "Sepal Length", y = "Sepal Width",
color = "Species")
print(scatterplot)
it gives an idea about spread of sepal width and sepal length.
# Boxplot
boxplot <- ggplot(iris, aes(x = Species, y = Sepal.Length, fill = Species)) +
geom_boxplot() +
labs(title = "Boxplot of Sepal Length by Species",
x = "Species", y = "Sepal Length",
fill = "Species")
print(boxplot)