# Cieran Hughes
# 1800730
# Computing
# irisanalysis.r

##### FUNCTIONS #####
generateFlowerSummary<-function(dataF)
{
  # vertor inclucing the names
  flowers<-c("Iris Setosa", "Iris Versicolor", "Iris Virginica")
  
  # vector including the count (to be updated)
  numberInstances<-c(0,0,0)
  
  # summary data frame
  summary<-data.frame(Species=flowers,Instance=numberInstances)
  
  # count all instanced of each species 
  for (i in seq(1:length(dataF$Species)))
  {
    if(dataF[i,5] == "Iris-setosa")
      summary[1,2]<-summary[1,2]+1
    if(dataF[i,5] == "Iris-versicolor")
      summary[2,2]<-summary[2,2]+1
    if(dataF[i,5] == "Iris-virginica")
      summary[3,2]<-summary[3,2]+1
  }
  
  return(summary)
}

calculateArea<-function(dataF)
{
  # calculate area
  Petal.area<-NULL
  
  for (c in seq(1:length(dataF$Species)))
  {
    if(dataF[c,5]=="Iris-setosa")
      Petal.area<-c(Petal.area,(dataF[c,4])*(dataF[c,3])*0.8)
    
    if(dataF[c,5]=="Iris-versicolor")
      Petal.area<-c(Petal.area,(dataF[c,4])*(dataF[c,3])*0.75)
    
    if(dataF[c,5]=="Iris-virginica")
      Petal.area<-c(Petal.area,(dataF[c,4])*(dataF[c,3])*0.65)
  }
  
  # add a new collunm from area vector
  dataf<-cbind(dataF,  Petal.area)

  return(dataf)
}

##### MAIN SCRIPT #####
# import data from files
irisData<-read.csv("iris.csv", header=TRUE, stringsAsFactors = FALSE)

# call function to generate sumary
irisSummary<-generateFlowerSummary(irisData)

# calacuate the correlation between petal length and sepal length
cor(irisData[,3], irisData[,1], method="pearson")

# create scatter plot on the sepal length and the petal length
plot(irisData$Petal.length, irisData$Sepal.length, main="Scatterplot of the Sepal Length and Petal Length", xlab="Petal Length", ylab="Sepal Length") 

# call function to calculate petal area
irisData<-calculateArea(irisData)
