The Overview:

The goal of this assignment is to create and analyze a survey of six movies and add the data to SQL database where we implement the data from a secure password host to the R markdown. the finding of this report is analyzing the movies and find out which one has the most rating.

I conducted the survey by asking friends and coworkers about the six movies, some of them has seen most of them and some saw only few or the movies. I uploaded the files the Github and you can find the data here

And you can check the files on Github

Loading packages

library(RMySQL)
library(RCurl);
library(sqldf)
## Warning in doTryCatch(return(expr), name, parentenv, handler): unable to load shared object '/Library/Frameworks/R.framework/Resources/modules//R_X11.so':
##   dlopen(/Library/Frameworks/R.framework/Resources/modules//R_X11.so, 6): Library not loaded: /opt/X11/lib/libSM.6.dylib
##   Referenced from: /Library/Frameworks/R.framework/Resources/modules//R_X11.so
##   Reason: image not found
library(ggplot2);

Establish Connection

Connect to MySql local database to pull the tables in the Movies database.

moviescon <- dbConnect(MySQL(),
                 user="root", password= "karim312",
                 dbname="movies", host="localhost")
summary(moviescon)
## <MySQLConnection:0,0>
##   User:   root 
##   Host:   localhost 
##   Dbname: movies 
##   Connection type: Localhost via UNIX socket 
## 
## Results:

Check the tables in the database

I will mainly use the movies database

dbListTables(moviescon);
## [1] "movies" "people"

Create data frame

create data frame and read the table “movies”

moviesdata <- dbReadTable(moviescon, "movies")
moviesdata
##    ID          Movie People Rating
## 1   1       Frozen 2  Alice      5
## 2   1       Frozen 2   Tony      4
## 3   1       Frozen 2    Zen      5
## 4   1       Frozen 2  Majed     NA
## 5   1       Frozen 2   Gary     NA
## 6   2 Murder Mystery  Alice      4
## 7   2 Murder Mystery   Tony      3
## 8   2 Murder Mystery    Zen      2
## 9   2 Murder Mystery  Majed      5
## 10  2 Murder Mystery   Gary      4
## 11  3          Moana  Alice      5
## 12  3          Moana   Tony      3
## 13  3          Moana    Zen      5
## 14  3          Moana  Majed     NA
## 15  3          Moana   Gary     NA
## 16  4          Joker  Alice     NA
## 17  4          Joker   Tony      4
## 18  4          Joker    Zen      5
## 19  4          Joker  Majed      5
## 20  4          Joker   Gary      4
## 21  5   The Big Kick  Alice      3
## 22  5   The Big Kick   Tony     NA
## 23  5   The Big Kick    Zen      1
## 24  5   The Big Kick  Majed      2
## 25  5   The Big Kick   Gary      3
## 26  6        Get out  Alice      4
## 27  6        Get out   Tony      5
## 28  6        Get out    Zen      5
## 29  6        Get out  Majed      3
## 30  6        Get out   Gary      3

Display the data on a bar chart

We start by pulling the average rating for each movie in the table

average <- c(14/3, 18/5, 13/5, 18/4, 9/4, 20/5)

average1 <- as.table(setNames(average, moviesdata))

Here we display the data, we start by changing the axis size to make sure the labels are readable when running the report.

par(mar=c(5,2,2,0))

barplot(average1, main="Movies Rating", xlab="Movie", ylab="Rating", ylim=c(0,6), horiz=FALSE,cex.lab=1 , col= c("lightcyan","mistyrose","beige","yellow","red","green"), names.arg=c("Frozen 2", "MurderMystery", "Moana", "Joker", "The Big Kick", "Get out" ))

Conclusion:

As we see in the barchart, the movies Frozen 2 and Joker got the highest average rating evethough Frozen2 had been watched only by 3 people, while Joker had been watched by all of the people in the rating list. on the other side The Big Sick movie got the worst rating of around only 2 out of 5 and it was watched by 4 people, it seems like they didn’t enjoy it a lot.

Thanks, Karim Hammoud

LS0tCnRpdGxlOiAiV2VlayAxIEFzc2lnbm1lbnQg4oCTIFNRTCBhbmQgUiIKYXV0aG9yOiAiS2FyaW0gSGFtbW91ZCIKZGF0ZTogImByIFN5cy5EYXRlKClgIgpvdXRwdXQ6IG9wZW5pbnRybzo6bGFiX3JlcG9ydAotLS0KCiMjIFRoZSBPdmVydmlldzoKClRoZSBnb2FsIG9mIHRoaXMgYXNzaWdubWVudCBpcyB0byBjcmVhdGUgYW5kIGFuYWx5emUgYSBzdXJ2ZXkgb2Ygc2l4IG1vdmllcyBhbmQgYWRkIHRoZSBkYXRhIHRvIFNRTCBkYXRhYmFzZSB3aGVyZSB3ZSBpbXBsZW1lbnQgdGhlIGRhdGEgZnJvbSBhIHNlY3VyZSBwYXNzd29yZCBob3N0IHRvIHRoZSBSIG1hcmtkb3duLiB0aGUgZmluZGluZyBvZiB0aGlzIHJlcG9ydCBpcyBhbmFseXppbmcgdGhlIG1vdmllcyBhbmQgZmluZCBvdXQgd2hpY2ggb25lIGhhcyB0aGUgbW9zdCByYXRpbmcuCgoKSSBjb25kdWN0ZWQgdGhlIHN1cnZleSBieSBhc2tpbmcgZnJpZW5kcyBhbmQgY293b3JrZXJzIGFib3V0IHRoZSBzaXggbW92aWVzLCBzb21lIG9mIHRoZW0gaGFzIHNlZW4gbW9zdCBvZiB0aGVtIGFuZCBzb21lIHNhdyBvbmx5IGZldyBvciB0aGUgbW92aWVzLgpJIHVwbG9hZGVkIHRoZSBmaWxlcyB0aGUgR2l0aHViIGFuZCB5b3UgY2FuIGZpbmQgdGhlIFtkYXRhIGhlcmVdKGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9ha2FyaW1oYW1tb3VkLzYwNy1EYXRhLUFjcXVpc2l0aW9uLWFuZC1NYW5hZ2VtZW50LUNVTlktU1BTLUZhbGwyMDIwL21hc3Rlci9XZWVrJTIwMiUyMFIlMjBhbmQlMjBTUUwvV2VlayUyMDIlMjBtb3ZpZSUyMGRhdGEuY3N2KQoKQW5kIHlvdSBjYW4gY2hlY2sgdGhlIGZpbGVzIG9uIFtHaXRodWJdKGh0dHBzOi8vZ2l0aHViLmNvbS9ha2FyaW1oYW1tb3VkLzYwNy1EYXRhLUFjcXVpc2l0aW9uLWFuZC1NYW5hZ2VtZW50LUNVTlktU1BTLUZhbGwyMDIwL3RyZWUvbWFzdGVyL1dlZWslMjAyJTIwUiUyMGFuZCUyMFNRTCkKCiMjIExvYWRpbmcgcGFja2FnZXMKCmBgYHtyIGxvYWQtcGFja2FnZXMsIG1lc3NhZ2U9RkFMU0V9CmxpYnJhcnkoUk15U1FMKQpsaWJyYXJ5KFJDdXJsKTsKbGlicmFyeShzcWxkZikKbGlicmFyeShnZ3Bsb3QyKTsKYGBgCgojIyBFc3RhYmxpc2ggQ29ubmVjdGlvbgoKQ29ubmVjdCB0byBNeVNxbCBsb2NhbCBkYXRhYmFzZSB0byBwdWxsIHRoZSB0YWJsZXMgaW4gdGhlIE1vdmllcyBkYXRhYmFzZS4gCgpgYGB7cn0KbW92aWVzY29uIDwtIGRiQ29ubmVjdChNeVNRTCgpLAogICAgICAgICAgICAgICAgIHVzZXI9InJvb3QiLCBwYXNzd29yZD0gImthcmltMzEyIiwKICAgICAgICAgICAgICAgICBkYm5hbWU9Im1vdmllcyIsIGhvc3Q9ImxvY2FsaG9zdCIpCnN1bW1hcnkobW92aWVzY29uKQpgYGAKIyMjIENoZWNrIHRoZSB0YWJsZXMgaW4gdGhlIGRhdGFiYXNlCkkgd2lsbCBtYWlubHkgdXNlIHRoZSBtb3ZpZXMgZGF0YWJhc2UKYGBge3J9CmRiTGlzdFRhYmxlcyhtb3ZpZXNjb24pOwpgYGAKCiMjIENyZWF0ZSBkYXRhIGZyYW1lCmNyZWF0ZSBkYXRhIGZyYW1lIGFuZCByZWFkIHRoZSB0YWJsZSAibW92aWVzIgpgYGB7cn0KbW92aWVzZGF0YSA8LSBkYlJlYWRUYWJsZShtb3ZpZXNjb24sICJtb3ZpZXMiKQptb3ZpZXNkYXRhCmBgYAoKIyMgRGlzcGxheSB0aGUgZGF0YSBvbiBhIGJhciBjaGFydAoKV2Ugc3RhcnQgYnkgcHVsbGluZyB0aGUgYXZlcmFnZSByYXRpbmcgZm9yIGVhY2ggbW92aWUgaW4gdGhlIHRhYmxlCgpgYGB7cn0KYXZlcmFnZSA8LSBjKDE0LzMsIDE4LzUsIDEzLzUsIDE4LzQsIDkvNCwgMjAvNSkKCmF2ZXJhZ2UxIDwtIGFzLnRhYmxlKHNldE5hbWVzKGF2ZXJhZ2UsIG1vdmllc2RhdGEpKQoKYGBgCgpIZXJlIHdlIGRpc3BsYXkgdGhlIGRhdGEsIHdlIHN0YXJ0IGJ5IGNoYW5naW5nIHRoZSBheGlzIHNpemUgdG8gbWFrZSBzdXJlIHRoZSBsYWJlbHMgYXJlIHJlYWRhYmxlIHdoZW4gcnVubmluZyB0aGUgcmVwb3J0LgpgYGB7cn0KcGFyKG1hcj1jKDUsMiwyLDApKQoKYmFycGxvdChhdmVyYWdlMSwgbWFpbj0iTW92aWVzIFJhdGluZyIsIHhsYWI9Ik1vdmllIiwgeWxhYj0iUmF0aW5nIiwgeWxpbT1jKDAsNiksIGhvcml6PUZBTFNFLGNleC5sYWI9MSAsIGNvbD0gYygibGlnaHRjeWFuIiwibWlzdHlyb3NlIiwiYmVpZ2UiLCJ5ZWxsb3ciLCJyZWQiLCJncmVlbiIpLCBuYW1lcy5hcmc9YygiRnJvemVuIDIiLCAiTXVyZGVyTXlzdGVyeSIsICJNb2FuYSIsICJKb2tlciIsICJUaGUgQmlnIEtpY2siLCAiR2V0IG91dCIgKSkKYGBgCgojIyBDb25jbHVzaW9uOgoKQXMgd2Ugc2VlIGluIHRoZSBiYXJjaGFydCwgdGhlIG1vdmllcyBGcm96ZW4gMiBhbmQgSm9rZXIgZ290IHRoZSBoaWdoZXN0IGF2ZXJhZ2UgcmF0aW5nIGV2ZXRob3VnaCBGcm96ZW4yIGhhZCBiZWVuIHdhdGNoZWQgb25seSBieSAzIHBlb3BsZSwgd2hpbGUgSm9rZXIgaGFkIGJlZW4gd2F0Y2hlZCBieSBhbGwgb2YgdGhlIHBlb3BsZSBpbiB0aGUgcmF0aW5nIGxpc3QuIG9uIHRoZSBvdGhlciBzaWRlIFRoZSBCaWcgU2ljayBtb3ZpZSBnb3QgdGhlIHdvcnN0IHJhdGluZyBvZiBhcm91bmQgb25seSAyIG91dCBvZiA1IGFuZCBpdCB3YXMgd2F0Y2hlZCBieSA0IHBlb3BsZSwgaXQgc2VlbXMgbGlrZSB0aGV5IGRpZG4ndCBlbmpveSBpdCBhIGxvdC4KClRoYW5rcywKS2FyaW0gSGFtbW91ZAo=