##. strore the twitter data in a data frame and remove empty and non relevant columns.

library(car)
library(psych)
## 
## Attaching package: 'psych'
## The following object is masked from 'package:car':
## 
##     logit
twitter.df <- read.csv(paste("twitter.csv"),sep = ",")
twitter.df<- twitter.df[,-c(160:934)]

##. determine the class of each column of the dataframe

sapply(twitter.df,class)
##                                             contributors 
##                                                "logical" 
##                                              coordinates 
##                                                "logical" 
##                                               created_at 
##                                                 "factor" 
##                              entities.urls.0.display_url 
##                                                 "factor" 
##                             entities.urls.0.expanded_url 
##                                                 "factor" 
##                                entities.urls.0.indices.0 
##                                                "integer" 
##                                entities.urls.0.indices.1 
##                                                "integer" 
##                                      entities.urls.0.url 
##                                                 "factor" 
##                                           favorite_count 
##                                                "integer" 
##                                                favorited 
##                                                "logical" 
##                                                      geo 
##                                                "logical" 
##                                                       id 
##                                                "numeric" 
##                                                   id_str 
##                                                "numeric" 
##                                  in_reply_to_screen_name 
##                                                 "factor" 
##                                    in_reply_to_status_id 
##                                                "numeric" 
##                                in_reply_to_status_id_str 
##                                                "numeric" 
##                                      in_reply_to_user_id 
##                                                "numeric" 
##                                  in_reply_to_user_id_str 
##                                                "numeric" 
##                                          is_quote_status 
##                                                "logical" 
##                                                     lang 
##                                                 "factor" 
##                                                    place 
##                                                "logical" 
##                                       possibly_sensitive 
##                                                "logical" 
##                                            retweet_count 
##                                                "integer" 
##                                                retweeted 
##                                                "logical" 
##                                                   source 
##                                                 "factor" 
##                                                     text 
##                                                 "factor" 
##                                                truncated 
##                                                "logical" 
##                                user.contributors_enabled 
##                                                "logical" 
##                                          user.created_at 
##                                                 "factor" 
##                                     user.default_profile 
##                                                "logical" 
##                               user.default_profile_image 
##                                                "logical" 
##                                         user.description 
##                                                 "factor" 
##                     user.entities.url.urls.0.display_url 
##                                                 "factor" 
##                    user.entities.url.urls.0.expanded_url 
##                                                 "factor" 
##                       user.entities.url.urls.0.indices.0 
##                                                "integer" 
##                       user.entities.url.urls.0.indices.1 
##                                                "integer" 
##                             user.entities.url.urls.0.url 
##                                                 "factor" 
##                                    user.favourites_count 
##                                                "integer" 
##                                 user.follow_request_sent 
##                                                "logical" 
##                                     user.followers_count 
##                                                "integer" 
##                                           user.following 
##                                                "logical" 
##                                       user.friends_count 
##                                                "integer" 
##                                         user.geo_enabled 
##                                                "logical" 
##                                user.has_extended_profile 
##                                                "logical" 
##                                                  user.id 
##                                                "numeric" 
##                                              user.id_str 
##                                                "numeric" 
##                              user.is_translation_enabled 
##                                                "logical" 
##                                       user.is_translator 
##                                                "logical" 
##                                                user.lang 
##                                                 "factor" 
##                                        user.listed_count 
##                                                "integer" 
##                                            user.location 
##                                                 "factor" 
##                                                user.name 
##                                                 "factor" 
##                                       user.notifications 
##                                                "logical" 
##                            user.profile_background_color 
##                                                "integer" 
##                        user.profile_background_image_url 
##                                                 "factor" 
##                  user.profile_background_image_url_https 
##                                                 "factor" 
##                             user.profile_background_tile 
##                                                "logical" 
##                                  user.profile_banner_url 
##                                                 "factor" 
##                                   user.profile_image_url 
##                                                 "factor" 
##                             user.profile_image_url_https 
##                                                 "factor" 
##                                  user.profile_link_color 
##                                                 "factor" 
##                        user.profile_sidebar_border_color 
##                                                "integer" 
##                          user.profile_sidebar_fill_color 
##                                                "integer" 
##                                  user.profile_text_color 
##                                                "integer" 
##                        user.profile_use_background_image 
##                                                "logical" 
##                                           user.protected 
##                                                "logical" 
##                                         user.screen_name 
##                                                 "factor" 
##                                      user.statuses_count 
##                                                "integer" 
##                                           user.time_zone 
##                                                 "factor" 
##                                     user.translator_type 
##                                                 "factor" 
##                                                 user.url 
##                                                 "factor" 
##                                          user.utc_offset 
##                                                "integer" 
##                                            user.verified 
##                                                "logical" 
##                            entities.hashtags.0.indices.0 
##                                                "integer" 
##                            entities.hashtags.0.indices.1 
##                                                "integer" 
##                                 entities.hashtags.0.text 
##                                                 "factor" 
##                              entities.user_mentions.0.id 
##                                                "numeric" 
##                          entities.user_mentions.0.id_str 
##                                                "numeric" 
##                       entities.user_mentions.0.indices.0 
##                                                "integer" 
##                       entities.user_mentions.0.indices.1 
##                                                "integer" 
##                            entities.user_mentions.0.name 
##                                                 "factor" 
##                     entities.user_mentions.0.screen_name 
##                                                 "factor" 
##                            retweeted_status.contributors 
##                                                "logical" 
##                             retweeted_status.coordinates 
##                                                "logical" 
##                              retweeted_status.created_at 
##                                                 "factor" 
##             retweeted_status.entities.urls.0.display_url 
##                                                 "factor" 
##            retweeted_status.entities.urls.0.expanded_url 
##                                                 "factor" 
##               retweeted_status.entities.urls.0.indices.0 
##                                                "integer" 
##               retweeted_status.entities.urls.0.indices.1 
##                                                "integer" 
##                     retweeted_status.entities.urls.0.url 
##                                                 "factor" 
##                          retweeted_status.favorite_count 
##                                                "integer" 
##                               retweeted_status.favorited 
##                                                "logical" 
##                                     retweeted_status.geo 
##                                                "logical" 
##                                      retweeted_status.id 
##                                                "numeric" 
##                                  retweeted_status.id_str 
##                                                "numeric" 
##                 retweeted_status.in_reply_to_screen_name 
##                                                "logical" 
##                   retweeted_status.in_reply_to_status_id 
##                                                "logical" 
##               retweeted_status.in_reply_to_status_id_str 
##                                                "logical" 
##                     retweeted_status.in_reply_to_user_id 
##                                                "logical" 
##                 retweeted_status.in_reply_to_user_id_str 
##                                                "logical" 
##                         retweeted_status.is_quote_status 
##                                                "logical" 
##                                    retweeted_status.lang 
##                                                 "factor" 
##                                   retweeted_status.place 
##                                                "logical" 
##                      retweeted_status.possibly_sensitive 
##                                                "logical" 
##                           retweeted_status.retweet_count 
##                                                "integer" 
##                               retweeted_status.retweeted 
##                                                "logical" 
##                                  retweeted_status.source 
##                                                 "factor" 
##                                    retweeted_status.text 
##                                                 "factor" 
##                               retweeted_status.truncated 
##                                                "logical" 
##               retweeted_status.user.contributors_enabled 
##                                                "logical" 
##                         retweeted_status.user.created_at 
##                                                 "factor" 
##                    retweeted_status.user.default_profile 
##                                                "logical" 
##              retweeted_status.user.default_profile_image 
##                                                "logical" 
##                        retweeted_status.user.description 
##                                                 "factor" 
##    retweeted_status.user.entities.url.urls.0.display_url 
##                                                 "factor" 
##   retweeted_status.user.entities.url.urls.0.expanded_url 
##                                                 "factor" 
##      retweeted_status.user.entities.url.urls.0.indices.0 
##                                                "integer" 
##      retweeted_status.user.entities.url.urls.0.indices.1 
##                                                "integer" 
##            retweeted_status.user.entities.url.urls.0.url 
##                                                 "factor" 
##                   retweeted_status.user.favourites_count 
##                                                "integer" 
##                retweeted_status.user.follow_request_sent 
##                                                "logical" 
##                    retweeted_status.user.followers_count 
##                                                "integer" 
##                          retweeted_status.user.following 
##                                                "logical" 
##                      retweeted_status.user.friends_count 
##                                                "integer" 
##                        retweeted_status.user.geo_enabled 
##                                                "logical" 
##               retweeted_status.user.has_extended_profile 
##                                                "logical" 
##                                 retweeted_status.user.id 
##                                                "numeric" 
##                             retweeted_status.user.id_str 
##                                                "numeric" 
##             retweeted_status.user.is_translation_enabled 
##                                                "logical" 
##                      retweeted_status.user.is_translator 
##                                                "logical" 
##                               retweeted_status.user.lang 
##                                                 "factor" 
##                       retweeted_status.user.listed_count 
##                                                "integer" 
##                           retweeted_status.user.location 
##                                                 "factor" 
##                               retweeted_status.user.name 
##                                                 "factor" 
##                      retweeted_status.user.notifications 
##                                                "logical" 
##           retweeted_status.user.profile_background_color 
##                                                 "factor" 
##       retweeted_status.user.profile_background_image_url 
##                                                 "factor" 
## retweeted_status.user.profile_background_image_url_https 
##                                                 "factor" 
##            retweeted_status.user.profile_background_tile 
##                                                "logical" 
##                 retweeted_status.user.profile_banner_url 
##                                                 "factor" 
##                  retweeted_status.user.profile_image_url 
##                                                 "factor" 
##            retweeted_status.user.profile_image_url_https 
##                                                 "factor" 
##                 retweeted_status.user.profile_link_color 
##                                                 "factor" 
##       retweeted_status.user.profile_sidebar_border_color 
##                                                 "factor" 
##         retweeted_status.user.profile_sidebar_fill_color 
##                                                 "factor" 
##                 retweeted_status.user.profile_text_color 
##                                                 "factor" 
##       retweeted_status.user.profile_use_background_image 
##                                                "logical" 
##                          retweeted_status.user.protected 
##                                                "logical" 
##                        retweeted_status.user.screen_name 
##                                                 "factor" 
##                     retweeted_status.user.statuses_count 
##                                                "integer" 
##                          retweeted_status.user.time_zone 
##                                                 "factor" 
##                    retweeted_status.user.translator_type 
##                                                 "factor" 
##                                retweeted_status.user.url 
##                                                 "factor" 
##                         retweeted_status.user.utc_offset 
##                                                "integer" 
##                           retweeted_status.user.verified 
##                                                "logical" 
##                               quoted_status.contributors 
##                                                "logical" 
##                                quoted_status.coordinates 
##                                                "logical" 
##                                 quoted_status.created_at 
##                                                 "factor" 
##                quoted_status.entities.urls.0.display_url 
##                                                 "factor"

##. determine the type of each column of dataframe

sapply(twitter.df,typeof)
##                                             contributors 
##                                                "logical" 
##                                              coordinates 
##                                                "logical" 
##                                               created_at 
##                                                "integer" 
##                              entities.urls.0.display_url 
##                                                "integer" 
##                             entities.urls.0.expanded_url 
##                                                "integer" 
##                                entities.urls.0.indices.0 
##                                                "integer" 
##                                entities.urls.0.indices.1 
##                                                "integer" 
##                                      entities.urls.0.url 
##                                                "integer" 
##                                           favorite_count 
##                                                "integer" 
##                                                favorited 
##                                                "logical" 
##                                                      geo 
##                                                "logical" 
##                                                       id 
##                                                 "double" 
##                                                   id_str 
##                                                 "double" 
##                                  in_reply_to_screen_name 
##                                                "integer" 
##                                    in_reply_to_status_id 
##                                                 "double" 
##                                in_reply_to_status_id_str 
##                                                 "double" 
##                                      in_reply_to_user_id 
##                                                 "double" 
##                                  in_reply_to_user_id_str 
##                                                 "double" 
##                                          is_quote_status 
##                                                "logical" 
##                                                     lang 
##                                                "integer" 
##                                                    place 
##                                                "logical" 
##                                       possibly_sensitive 
##                                                "logical" 
##                                            retweet_count 
##                                                "integer" 
##                                                retweeted 
##                                                "logical" 
##                                                   source 
##                                                "integer" 
##                                                     text 
##                                                "integer" 
##                                                truncated 
##                                                "logical" 
##                                user.contributors_enabled 
##                                                "logical" 
##                                          user.created_at 
##                                                "integer" 
##                                     user.default_profile 
##                                                "logical" 
##                               user.default_profile_image 
##                                                "logical" 
##                                         user.description 
##                                                "integer" 
##                     user.entities.url.urls.0.display_url 
##                                                "integer" 
##                    user.entities.url.urls.0.expanded_url 
##                                                "integer" 
##                       user.entities.url.urls.0.indices.0 
##                                                "integer" 
##                       user.entities.url.urls.0.indices.1 
##                                                "integer" 
##                             user.entities.url.urls.0.url 
##                                                "integer" 
##                                    user.favourites_count 
##                                                "integer" 
##                                 user.follow_request_sent 
##                                                "logical" 
##                                     user.followers_count 
##                                                "integer" 
##                                           user.following 
##                                                "logical" 
##                                       user.friends_count 
##                                                "integer" 
##                                         user.geo_enabled 
##                                                "logical" 
##                                user.has_extended_profile 
##                                                "logical" 
##                                                  user.id 
##                                                 "double" 
##                                              user.id_str 
##                                                 "double" 
##                              user.is_translation_enabled 
##                                                "logical" 
##                                       user.is_translator 
##                                                "logical" 
##                                                user.lang 
##                                                "integer" 
##                                        user.listed_count 
##                                                "integer" 
##                                            user.location 
##                                                "integer" 
##                                                user.name 
##                                                "integer" 
##                                       user.notifications 
##                                                "logical" 
##                            user.profile_background_color 
##                                                "integer" 
##                        user.profile_background_image_url 
##                                                "integer" 
##                  user.profile_background_image_url_https 
##                                                "integer" 
##                             user.profile_background_tile 
##                                                "logical" 
##                                  user.profile_banner_url 
##                                                "integer" 
##                                   user.profile_image_url 
##                                                "integer" 
##                             user.profile_image_url_https 
##                                                "integer" 
##                                  user.profile_link_color 
##                                                "integer" 
##                        user.profile_sidebar_border_color 
##                                                "integer" 
##                          user.profile_sidebar_fill_color 
##                                                "integer" 
##                                  user.profile_text_color 
##                                                "integer" 
##                        user.profile_use_background_image 
##                                                "logical" 
##                                           user.protected 
##                                                "logical" 
##                                         user.screen_name 
##                                                "integer" 
##                                      user.statuses_count 
##                                                "integer" 
##                                           user.time_zone 
##                                                "integer" 
##                                     user.translator_type 
##                                                "integer" 
##                                                 user.url 
##                                                "integer" 
##                                          user.utc_offset 
##                                                "integer" 
##                                            user.verified 
##                                                "logical" 
##                            entities.hashtags.0.indices.0 
##                                                "integer" 
##                            entities.hashtags.0.indices.1 
##                                                "integer" 
##                                 entities.hashtags.0.text 
##                                                "integer" 
##                              entities.user_mentions.0.id 
##                                                 "double" 
##                          entities.user_mentions.0.id_str 
##                                                 "double" 
##                       entities.user_mentions.0.indices.0 
##                                                "integer" 
##                       entities.user_mentions.0.indices.1 
##                                                "integer" 
##                            entities.user_mentions.0.name 
##                                                "integer" 
##                     entities.user_mentions.0.screen_name 
##                                                "integer" 
##                            retweeted_status.contributors 
##                                                "logical" 
##                             retweeted_status.coordinates 
##                                                "logical" 
##                              retweeted_status.created_at 
##                                                "integer" 
##             retweeted_status.entities.urls.0.display_url 
##                                                "integer" 
##            retweeted_status.entities.urls.0.expanded_url 
##                                                "integer" 
##               retweeted_status.entities.urls.0.indices.0 
##                                                "integer" 
##               retweeted_status.entities.urls.0.indices.1 
##                                                "integer" 
##                     retweeted_status.entities.urls.0.url 
##                                                "integer" 
##                          retweeted_status.favorite_count 
##                                                "integer" 
##                               retweeted_status.favorited 
##                                                "logical" 
##                                     retweeted_status.geo 
##                                                "logical" 
##                                      retweeted_status.id 
##                                                 "double" 
##                                  retweeted_status.id_str 
##                                                 "double" 
##                 retweeted_status.in_reply_to_screen_name 
##                                                "logical" 
##                   retweeted_status.in_reply_to_status_id 
##                                                "logical" 
##               retweeted_status.in_reply_to_status_id_str 
##                                                "logical" 
##                     retweeted_status.in_reply_to_user_id 
##                                                "logical" 
##                 retweeted_status.in_reply_to_user_id_str 
##                                                "logical" 
##                         retweeted_status.is_quote_status 
##                                                "logical" 
##                                    retweeted_status.lang 
##                                                "integer" 
##                                   retweeted_status.place 
##                                                "logical" 
##                      retweeted_status.possibly_sensitive 
##                                                "logical" 
##                           retweeted_status.retweet_count 
##                                                "integer" 
##                               retweeted_status.retweeted 
##                                                "logical" 
##                                  retweeted_status.source 
##                                                "integer" 
##                                    retweeted_status.text 
##                                                "integer" 
##                               retweeted_status.truncated 
##                                                "logical" 
##               retweeted_status.user.contributors_enabled 
##                                                "logical" 
##                         retweeted_status.user.created_at 
##                                                "integer" 
##                    retweeted_status.user.default_profile 
##                                                "logical" 
##              retweeted_status.user.default_profile_image 
##                                                "logical" 
##                        retweeted_status.user.description 
##                                                "integer" 
##    retweeted_status.user.entities.url.urls.0.display_url 
##                                                "integer" 
##   retweeted_status.user.entities.url.urls.0.expanded_url 
##                                                "integer" 
##      retweeted_status.user.entities.url.urls.0.indices.0 
##                                                "integer" 
##      retweeted_status.user.entities.url.urls.0.indices.1 
##                                                "integer" 
##            retweeted_status.user.entities.url.urls.0.url 
##                                                "integer" 
##                   retweeted_status.user.favourites_count 
##                                                "integer" 
##                retweeted_status.user.follow_request_sent 
##                                                "logical" 
##                    retweeted_status.user.followers_count 
##                                                "integer" 
##                          retweeted_status.user.following 
##                                                "logical" 
##                      retweeted_status.user.friends_count 
##                                                "integer" 
##                        retweeted_status.user.geo_enabled 
##                                                "logical" 
##               retweeted_status.user.has_extended_profile 
##                                                "logical" 
##                                 retweeted_status.user.id 
##                                                 "double" 
##                             retweeted_status.user.id_str 
##                                                 "double" 
##             retweeted_status.user.is_translation_enabled 
##                                                "logical" 
##                      retweeted_status.user.is_translator 
##                                                "logical" 
##                               retweeted_status.user.lang 
##                                                "integer" 
##                       retweeted_status.user.listed_count 
##                                                "integer" 
##                           retweeted_status.user.location 
##                                                "integer" 
##                               retweeted_status.user.name 
##                                                "integer" 
##                      retweeted_status.user.notifications 
##                                                "logical" 
##           retweeted_status.user.profile_background_color 
##                                                "integer" 
##       retweeted_status.user.profile_background_image_url 
##                                                "integer" 
## retweeted_status.user.profile_background_image_url_https 
##                                                "integer" 
##            retweeted_status.user.profile_background_tile 
##                                                "logical" 
##                 retweeted_status.user.profile_banner_url 
##                                                "integer" 
##                  retweeted_status.user.profile_image_url 
##                                                "integer" 
##            retweeted_status.user.profile_image_url_https 
##                                                "integer" 
##                 retweeted_status.user.profile_link_color 
##                                                "integer" 
##       retweeted_status.user.profile_sidebar_border_color 
##                                                "integer" 
##         retweeted_status.user.profile_sidebar_fill_color 
##                                                "integer" 
##                 retweeted_status.user.profile_text_color 
##                                                "integer" 
##       retweeted_status.user.profile_use_background_image 
##                                                "logical" 
##                          retweeted_status.user.protected 
##                                                "logical" 
##                        retweeted_status.user.screen_name 
##                                                "integer" 
##                     retweeted_status.user.statuses_count 
##                                                "integer" 
##                          retweeted_status.user.time_zone 
##                                                "integer" 
##                    retweeted_status.user.translator_type 
##                                                "integer" 
##                                retweeted_status.user.url 
##                                                "integer" 
##                         retweeted_status.user.utc_offset 
##                                                "integer" 
##                           retweeted_status.user.verified 
##                                                "logical" 
##                               quoted_status.contributors 
##                                                "logical" 
##                                quoted_status.coordinates 
##                                                "logical" 
##                                 quoted_status.created_at 
##                                                "integer" 
##                quoted_status.entities.urls.0.display_url 
##                                                "integer"

##. no. of tweets from different sources.

table(twitter.df$source)
## 
##    android     iphone  periscope  tweetdeck web client 
##         14          1          4        216        111

##. graphical representation of the same

barplot(table(twitter.df$source))

library("stringr")
a <- c("Mon/","Sun/","Tue/","Wed/","Thu/","Fri/","Sat/")
twitter.df$created_at <- sub(" ","/",twitter.df$created_at)
twitter.df$created_at <- sub(" ","/",twitter.df$created_at)
temp=sapply(strsplit(as.character(twitter.df$created_at)," "),"[",1)
for (i in 1:7) {
                temp=sub(a[i],"",temp)
}

##. top five days with highest no of tweets

plot(head(sort(table(temp), decreasing = TRUE)))

##. days with maximum no. of retweets.

dd.df<-aggregate(twitter.df$retweet_count,by=list(rt=temp),sum)
barplot(head(sort(dd.df$x, decreasing = TRUE)),xlab = "5 jan                9 jan                  4 jan              27 feb              23 apr          21 apr")

de.df<-aggregate(twitter.df$favorite_count,by=list(rt=temp),sum)
barplot(head(sort(de.df$x, decreasing = TRUE)),xlab = "5 jan                9 jan                  4 jan              27 feb              10 apr          02 jan")