Files
Data-Science-Project/Data.R
LinlyBoi 92cfb8769e C) Done in the PDF
Redid the visualisation bits
2022-01-01 18:15:01 +02:00

79 lines
2.5 KiB
R

# Installing Packages
#install.packages('gridExtra')
#Run install.packages if you haven't installed it before (only once)
#install.packages("cluster")
#install.packages('ggplot2')
# Loading package
#library(ClusterR)
library(cluster)
library(gridExtra)
library(ggplot2)
library(grid)
library(arules)
library(RColorBrewer)
#library(cluster)
coul <- brewer.pal(5, "Set2")
#Read spreadsheet file
grocery_entries <- read.csv(file.choose())
#Compare cash and credit totals -Sewelam
cash_credit <- cbind(grocery_entries[3], grocery_entries[8])
sum_cash <-sum(cash_credit[which(cash_credit$paymentType=='Cash'),1])
sum_credit <-sum(cash_credit[which(cash_credit$paymentType=='Credit'),1])
CompCashCredit <- c(sum_cash,sum_credit)
barplot(CompCashCredit,names.arg = c('Cash','Credit'),horiz = TRUE,col = coul)
#City and Total Spent comparison -Jimmy
city_total <- cbind(grocery_entries[3], grocery_entries[7])
sum_cities<-aggregate(total ~city ,city_total,sum)
sum_citiesOrdered <- sum_cities[order(sum_cities$total),]
barplot(height = sum_citiesOrdered$total,names.arg = sum_citiesOrdered$city,col = coul,las=2)
#Compare between ages and their total spent (Youssri)
age <- cbind(grocery_entries[6] , grocery_entries[3])
sum_ages <- aggregate(total ~ age,age,sum)
pie(sum_ages$total,col = coul,labels = sum_ages$age,main = "Ages and total spent")
#Distribution of spending - Abdo
plot(grocery_entries$total, col = coul,type = "l", main = "spending")
#All in one dashboard
pdf(file = "graphs.pdf")
plot(grocery_entries$total, col = coul,type = "l", main = "spending")
pie(sum_ages$total,col = coul,labels = sum_ages$age,main = "Ages and total spent")
barplot(height = sum_citiesOrdered$total,names.arg = sum_citiesOrdered$city,col = coul,las=2)
barplot(CompCashCredit,names.arg = c('Cash','Credit'),horiz = TRUE,col = coul)
dev.off()
#kmeans --Yousri
name_total_age<-cbind(grocery_entries[5],grocery_entries[3],grocery_entries[6])
n<-as.numeric(readline("Enter number of clusters: "))
keameans<-cbind(grocery_entries[3],grocery_entries[6])
result<-kmeans(keameans,centers =n)
final_result<-cbind(name_total_age,result$cluster)
#Association Rules --Sewelam
clean_data <- grocery_entries[,-5] #remove names
minsup <- as.numeric(readline("Enter minimum support: "))
minconf <- as.numeric(readline("Enter minimum confidence: "))
asoc_rules <- apriori(clean_data,parameter = list(supp = minsup,conf = minconf))
asociation_rules <- inspect(asoc_rules)
write.csv(as(asoc_rules,"data.frame"),file = "Output.csv")