- For this assignment, the well-known person I chose was the Cristine Rotenberg, a business owner, crime statistics analyst, and a YouTuber who goes by Simply Nailogical. The code below gathers retweets about her.
simply <- search_tweets("@nailogical", n = 1000, include_rts = F)
This code shows the top ten tweets about Cristine by the number of retweets and organizes them into a data table.
simply %>%
select(text, retweet_count) %>%
top_n(10) %>%
arrange(-retweet_count) %>%
datatable()
Selecting by retweet_count
- This code gathers up to 5000 of Cristine’s tweets.
simply <- get_timeline("nailogical", n = 5000)
This will go through those tweets and find her most used hashtags and organizes them into a data table.
simply %>%
select(hashtags) %>%
unnest() %>%
mutate(hashtags = tolower(hashtags)) %>%
count(hashtags, sort=TRUE) %>%
datatable()
`cols` is now required when using unnest().
Please use `cols = c(hashtags)`
- This code lists how many times Cristine tweeted per day starting 01/05/2020.
simply %>%
group_by(day = date(created_at)) %>%
summarize(tweets_per_day = n())
This code finds the average amount of tweets per day from the data listed above.
simply %>%
group_by(day = date(created_at)) %>%
summarize(tweets_per_day = n()) %>%
summarize(mean(tweets_per_day))
- This code takes the tweets per day data and graphs it.
simply %>%
mutate(day = date(created_at)) %>%
plot_ly(x = ~day) %>%
add_histogram() %>%
layout(title = "Simply Nailogical's Tweets per Day")
- This code makes a table of the number of tweets Cristine makes at each hour.
simply %>%
mutate(time = hour(created_at)) %>%
count(time) %>%
datatable(options = (list(pageLength = 24)), rownames = F)
This code takes the data from the table above and puts it into a histogram.
simply %>%
mutate(time = hour(created_at)) %>%
plot_ly(x = ~time) %>%
add_histogram() %>%
layout(title = "What Times Does @nailogical Tweet?", xaxis = list(title = "Time of Day (0 = midnight)"), yaxis = list(title = "Number of Tweets"))
- This code shows how often Cristine tweets by days of the week.
simply %>%
mutate(Day = wday(created_at, label = T)) %>%
count(Day) %>%
datatable(rownames = F)
This code takes the days of the week data and organizes it into a histogram.
simply %>%
mutate(Day = wday(created_at, label = T)) %>%
plot_ly(x = ~Day) %>%
add_histogram() %>%
layout(title = "Which Days Does @nailogical Tweet?", xaxis = list(title = "Days of the Week"), yaxis = list(title = "Number of Tweets"))
- This code takes the days of the week data and plots it on a heatmap.
simply %>%
mutate(day = wday(created_at, label = T)) %>%
mutate(hour = hour(with_tz(created_at, "Canada/Eastern"))) %>%
plot_ly(x = ~day, y = ~hour) %>%
add_histogram2d(nbinsx = 7, nbinsy = 24) %>%
layout(title = "What Days Does @nailogical Tweet?", xaxis = list(title = "Days of the Week"), yaxis = list(title = "Number of Tweets"))
LS0tDQp0aXRsZTogInJUd2VldCINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCjEuIEZvciB0aGlzIGFzc2lnbm1lbnQsIHRoZSB3ZWxsLWtub3duIHBlcnNvbiBJIGNob3NlIHdhcyB0aGUgQ3Jpc3RpbmUgUm90ZW5iZXJnLCBhIGJ1c2luZXNzIG93bmVyLCBjcmltZSBzdGF0aXN0aWNzIGFuYWx5c3QsIGFuZCBhIFlvdVR1YmVyIHdobyBnb2VzIGJ5IFNpbXBseSBOYWlsb2dpY2FsLiBUaGUgY29kZSBiZWxvdyBnYXRoZXJzIHJldHdlZXRzIGFib3V0IGhlci4gDQoNCmBgYHtyfQ0Kc2ltcGx5IDwtIHNlYXJjaF90d2VldHMoIkBuYWlsb2dpY2FsIiwgbiA9IDEwMDAsIGluY2x1ZGVfcnRzID0gRikNCmBgYA0KDQoNClRoaXMgY29kZSBzaG93cyB0aGUgdG9wIHRlbiB0d2VldHMgYWJvdXQgQ3Jpc3RpbmUgYnkgdGhlIG51bWJlciBvZiByZXR3ZWV0cyBhbmQgb3JnYW5pemVzIHRoZW0gaW50byBhIGRhdGEgdGFibGUuIA0KYGBge3J9DQpzaW1wbHkgJT4lDQogIHNlbGVjdCh0ZXh0LCByZXR3ZWV0X2NvdW50KSAlPiUNCiAgdG9wX24oMTApICU+JQ0KICBhcnJhbmdlKC1yZXR3ZWV0X2NvdW50KSAlPiUNCiAgZGF0YXRhYmxlKCkNCmBgYA0KDQoyLiBUaGlzIGNvZGUgZ2F0aGVycyB1cCB0byA1MDAwIG9mIENyaXN0aW5lJ3MgdHdlZXRzLiANCg0KYGBge3J9DQpzaW1wbHkgPC0gZ2V0X3RpbWVsaW5lKCJuYWlsb2dpY2FsIiwgbiA9IDUwMDApDQpgYGANCg0KDQpUaGlzIHdpbGwgZ28gdGhyb3VnaCB0aG9zZSB0d2VldHMgYW5kIGZpbmQgaGVyIG1vc3QgdXNlZCBoYXNodGFncyBhbmQgb3JnYW5pemVzIHRoZW0gaW50byBhIGRhdGEgdGFibGUuIA0KYGBge3J9DQpzaW1wbHkgJT4lIA0KICBzZWxlY3QoaGFzaHRhZ3MpICU+JSANCiAgdW5uZXN0KCkgJT4lIA0KICBtdXRhdGUoaGFzaHRhZ3MgPSB0b2xvd2VyKGhhc2h0YWdzKSkgJT4lICAgICAgDQogIGNvdW50KGhhc2h0YWdzLCBzb3J0PVRSVUUpICU+JSAgICAgICAgICAgICAgICANCiAgZGF0YXRhYmxlKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KYGBgDQoNCjMuIFRoaXMgY29kZSBsaXN0cyBob3cgbWFueSB0aW1lcyBDcmlzdGluZSB0d2VldGVkIHBlciBkYXkgc3RhcnRpbmcgMDEvMDUvMjAyMC4gDQpgYGB7cn0NCnNpbXBseSAlPiUgDQogIGdyb3VwX2J5KGRheSA9IGRhdGUoY3JlYXRlZF9hdCkpICU+JSAgICANCiAgc3VtbWFyaXplKHR3ZWV0c19wZXJfZGF5ID0gbigpKSAgICAgICAgDQpgYGANCg0KVGhpcyBjb2RlIGZpbmRzIHRoZSBhdmVyYWdlIGFtb3VudCBvZiB0d2VldHMgcGVyIGRheSBmcm9tIHRoZSBkYXRhIGxpc3RlZCBhYm92ZS4gDQpgYGB7cn0NCnNpbXBseSAlPiUgDQogIGdyb3VwX2J5KGRheSA9IGRhdGUoY3JlYXRlZF9hdCkpICU+JSAgIA0KICBzdW1tYXJpemUodHdlZXRzX3Blcl9kYXkgPSBuKCkpICU+JSAgDQogIHN1bW1hcml6ZShtZWFuKHR3ZWV0c19wZXJfZGF5KSkNCmBgYA0KDQoNCjQuIFRoaXMgY29kZSB0YWtlcyB0aGUgdHdlZXRzIHBlciBkYXkgZGF0YSBhbmQgZ3JhcGhzIGl0LiANCmBgYHtyfQ0Kc2ltcGx5ICU+JQ0KICBtdXRhdGUoZGF5ID0gZGF0ZShjcmVhdGVkX2F0KSkgJT4lIA0KICBwbG90X2x5KHggPSB+ZGF5KSAlPiUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogIGFkZF9oaXN0b2dyYW0oKSAlPiUNCiAgbGF5b3V0KHRpdGxlID0gIlNpbXBseSBOYWlsb2dpY2FsJ3MgVHdlZXRzIHBlciBEYXkiKQ0KYGBgDQoNCjUuIFRoaXMgY29kZSBtYWtlcyBhIHRhYmxlIG9mIHRoZSBudW1iZXIgb2YgdHdlZXRzIENyaXN0aW5lIG1ha2VzIGF0IGVhY2ggaG91ci4gDQpgYGB7cn0NCnNpbXBseSAlPiUNCiAgbXV0YXRlKHRpbWUgPSBob3VyKGNyZWF0ZWRfYXQpKSAlPiUNCiAgY291bnQodGltZSkgJT4lDQogIGRhdGF0YWJsZShvcHRpb25zID0gKGxpc3QocGFnZUxlbmd0aCA9IDI0KSksIHJvd25hbWVzID0gRikNCmBgYA0KDQpUaGlzIGNvZGUgdGFrZXMgdGhlIGRhdGEgZnJvbSB0aGUgdGFibGUgYWJvdmUgYW5kIHB1dHMgaXQgaW50byBhIGhpc3RvZ3JhbS4gDQpgYGB7cn0NCnNpbXBseSAlPiUNCiAgbXV0YXRlKHRpbWUgPSBob3VyKGNyZWF0ZWRfYXQpKSAlPiUgDQogIHBsb3RfbHkoeCA9IH50aW1lKSAlPiUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogIGFkZF9oaXN0b2dyYW0oKSAlPiUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogIGxheW91dCh0aXRsZSA9ICJXaGF0IFRpbWVzIERvZXMgQG5haWxvZ2ljYWwgVHdlZXQ/IiwgeGF4aXMgPSBsaXN0KHRpdGxlID0gIlRpbWUgb2YgRGF5ICgwID0gbWlkbmlnaHQpIiksIHlheGlzID0gbGlzdCh0aXRsZSA9ICJOdW1iZXIgb2YgVHdlZXRzIikpDQpgYGANCg0KDQo2LiBUaGlzIGNvZGUgc2hvd3MgaG93IG9mdGVuIENyaXN0aW5lIHR3ZWV0cyBieSBkYXlzIG9mIHRoZSB3ZWVrLiANCmBgYHtyfQ0Kc2ltcGx5ICU+JQ0KICBtdXRhdGUoRGF5ID0gd2RheShjcmVhdGVkX2F0LCBsYWJlbCA9IFQpKSAlPiUNCiAgY291bnQoRGF5KSAlPiUNCiAgZGF0YXRhYmxlKHJvd25hbWVzID0gRikNCmBgYA0KDQpUaGlzIGNvZGUgdGFrZXMgdGhlIGRheXMgb2YgdGhlIHdlZWsgZGF0YSBhbmQgb3JnYW5pemVzIGl0IGludG8gYSBoaXN0b2dyYW0uIA0KYGBge3J9DQpzaW1wbHkgJT4lDQogIG11dGF0ZShEYXkgPSB3ZGF5KGNyZWF0ZWRfYXQsIGxhYmVsID0gVCkpICU+JQ0KICBwbG90X2x5KHggPSB+RGF5KSAlPiUNCiAgYWRkX2hpc3RvZ3JhbSgpICU+JQ0KICBsYXlvdXQodGl0bGUgPSAiV2hpY2ggRGF5cyBEb2VzIEBuYWlsb2dpY2FsIFR3ZWV0PyIsIHhheGlzID0gbGlzdCh0aXRsZSA9ICJEYXlzIG9mIHRoZSBXZWVrIiksIHlheGlzID0gbGlzdCh0aXRsZSA9ICJOdW1iZXIgb2YgVHdlZXRzIikpDQpgYGANCg0KNy4gVGhpcyBjb2RlIHRha2VzIHRoZSBkYXlzIG9mIHRoZSB3ZWVrIGRhdGEgYW5kIHBsb3RzIGl0IG9uIGEgaGVhdG1hcC4gDQpgYGB7cn0NCnNpbXBseSAlPiUNCiAgbXV0YXRlKGRheSA9IHdkYXkoY3JlYXRlZF9hdCwgbGFiZWwgPSBUKSkgJT4lDQogIG11dGF0ZShob3VyID0gaG91cih3aXRoX3R6KGNyZWF0ZWRfYXQsICJDYW5hZGEvRWFzdGVybiIpKSkgJT4lDQogIHBsb3RfbHkoeCA9IH5kYXksIHkgPSB+aG91cikgJT4lDQogIGFkZF9oaXN0b2dyYW0yZChuYmluc3ggPSA3LCBuYmluc3kgPSAyNCkgJT4lDQogIGxheW91dCh0aXRsZSA9ICJXaGF0IERheXMgRG9lcyBAbmFpbG9naWNhbCBUd2VldD8iLCB4YXhpcyA9IGxpc3QodGl0bGUgPSAiRGF5cyBvZiB0aGUgV2VlayIpLCB5YXhpcyA9IGxpc3QodGl0bGUgPSAiTnVtYmVyIG9mIFR3ZWV0cyIpKQ0KYGBgDQoNCg0KDQoNCg0KDQoNCg0KDQo=