https://developer.twitter.com/

https://towardsdatascience.com/access-data-from-twitter-api-using-r-and-or-python-b8ac342d3efe

https://www.rdocumentation.org/packages/twitteR/versions/1.1.9

En liten politianalyse

##Autoriser Twitter
#install.packages("twitteR")

library(twitteR)

consumer_key <- "GwiLmjvz8mJ7j6Dk2SOFAg"
consumer_secret <-"85zZSIhiczzvR8nhi8Fr6F3J6vOAXR7K2hSab6Rf5c"
access_token <- "16668912-wtpsnOvDo22qJV3fM2BcyJJ2hIrlrbbgUV7c1yh2z"
access_secret <- "jW5KOvzXtpVX5lolIP6T310lo6CKDIodcQXYObTfzoLXg" 
setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_secret)
## [1] "Using direct authentication"
tw <- searchTwitter('@politivest', n = 25)
politi <- twListToDF(tw)
head(politi)
##                                                                                                                                               text
## 1                                                                                                       @politivest Hjelp, ikke straff<U+0001F49C>
## 2     @politivest Eg var bil nummer 3 nordfra. Det var den eneste grunnen til at det ikkje var eg som kræsjet. 200 meter med klink is i ein sving.
## 3                                                               RT @politivest: Vegen er ryddet og patruljen avslutter. Trafikken går som normalt.
## 4                                                                RT @politivest: Igangsatt manuell dirigering. Ingen id på de involverte så langt.
## 5     RT @politivest: #Lindåsvegen #Seim #Nordhordland kl 2306: Trafikkulykke fra Seim mot Hundvin. To personbiler. Airbager utløst. Så langt ikk…
## 6 RT @politivest: #Eikås #e39 #utrykningspolitiet\n\nLaserkontroll ved Eikås ungdomshus.\n\n2 forenkla forelegg - høyeste hastighet 89km/t i 70 s…
##   favorited favoriteCount  replyToSN             created truncated
## 1     FALSE             0 politivest 2019-11-14 00:44:34     FALSE
## 2     FALSE             0 politivest 2019-11-14 00:43:37     FALSE
## 3     FALSE             0       <NA> 2019-11-14 00:41:54     FALSE
## 4     FALSE             0       <NA> 2019-11-14 00:41:53     FALSE
## 5     FALSE             0       <NA> 2019-11-14 00:41:48     FALSE
## 6     FALSE             0       <NA> 2019-11-13 22:33:44     FALSE
##            replyToSID                  id         replyToUID
## 1 1194767127485530113 1194778112099266562 916215618612973568
## 2 1194741752357412865 1194777874437414912 916215618612973568
## 3                <NA> 1194777441203556353               <NA>
## 4                <NA> 1194777435528683522               <NA>
## 5                <NA> 1194777414821384193               <NA>
## 6                <NA> 1194745186280189958               <NA>
##                                                                           statusSource
## 1   <a href="http://twitter.com/download/iphone" rel="nofollow">Twitter for iPhone</a>
## 2              <a href="https://mobile.twitter.com" rel="nofollow">Twitter Web App</a>
## 3 <a href="http://twitter.com/download/android" rel="nofollow">Twitter for Android</a>
## 4 <a href="http://twitter.com/download/android" rel="nofollow">Twitter for Android</a>
## 5 <a href="http://twitter.com/download/android" rel="nofollow">Twitter for Android</a>
## 6 <a href="http://twitter.com/download/android" rel="nofollow">Twitter for Android</a>
##   screenName retweetCount isRetweet retweeted longitude latitude
## 1   rutinert            0     FALSE     FALSE        NA       NA
## 2 binglebeep            0     FALSE     FALSE        NA       NA
## 3 Hondaebest            1      TRUE     FALSE        NA       NA
## 4 Hondaebest            1      TRUE     FALSE        NA       NA
## 5 Hondaebest            1      TRUE     FALSE        NA       NA
## 6 Hondaebest            1      TRUE     FALSE        NA       NA
politi <- userTimeline("politivest", n = 100)
politi <- twListToDF(politi)
head(politi)
##                                                                                                                                           text
## 1  #Nattlandsveien Bergen kl 0223: Politipatrulje stanset kjøretøy etter vinglete kjøring. Bilfører (mann i 30-årene)… https://t.co/NdfH4YpCXs
## 2 #Vestretorggaten Bergen kl 0053: Truende person på Sentrum kebab. Trusler og ordensforstyrrelse mot betjening. Beru… https://t.co/GjxZB1cK5Z
## 3 #Damsgårdsveien Bergen kl 0024: Politiet tilkalt til #Straxhuset, grunnet slagsmål. Kontroll på en person (mann i 4… https://t.co/fcaf82QTnK
## 4                                                                           Vegen er ryddet og patruljen avslutter. Trafikken går som normalt.
## 5                                                                            Igangsatt manuell dirigering. Ingen id på de involverte så langt.
## 6             Totalt 3 personer involvert. To av dem er på veg til traumemottaket, Haukeland sykehus. Store materielle skader på begge bilene.
##   favorited favoriteCount  replyToSN             created truncated
## 1     FALSE             4       <NA> 2019-11-14 02:06:36      TRUE
## 2     FALSE             0       <NA> 2019-11-14 00:54:37      TRUE
## 3     FALSE             1       <NA> 2019-11-14 00:00:55      TRUE
## 4     FALSE             0 politivest 2019-11-13 23:54:40     FALSE
## 5     FALSE             1 politivest 2019-11-13 23:11:43     FALSE
## 6     FALSE             1 politivest 2019-11-13 22:47:24     FALSE
##            replyToSID                  id         replyToUID
## 1                <NA> 1194798754920108032               <NA>
## 2                <NA> 1194780640643813378               <NA>
## 3                <NA> 1194767127485530113               <NA>
## 4 1194754743953960961 1194765552390148096 916215618612973568
## 5 1194748625966043136 1194754743953960961 916215618612973568
## 6 1194742989190574087 1194748625966043136 916215618612973568
##                                                              statusSource
## 1 <a href="https://mobile.twitter.com" rel="nofollow">Twitter Web App</a>
## 2 <a href="https://mobile.twitter.com" rel="nofollow">Twitter Web App</a>
## 3 <a href="https://mobile.twitter.com" rel="nofollow">Twitter Web App</a>
## 4 <a href="https://mobile.twitter.com" rel="nofollow">Twitter Web App</a>
## 5 <a href="https://mobile.twitter.com" rel="nofollow">Twitter Web App</a>
## 6 <a href="https://mobile.twitter.com" rel="nofollow">Twitter Web App</a>
##   screenName retweetCount isRetweet retweeted longitude latitude
## 1 politivest            0     FALSE     FALSE        NA       NA
## 2 politivest            0     FALSE     FALSE        NA       NA
## 3 politivest            0     FALSE     FALSE        NA       NA
## 4 politivest            1     FALSE     FALSE        NA       NA
## 5 politivest            1     FALSE     FALSE        NA       NA
## 6 politivest            0     FALSE     FALSE        NA       NA
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 3.5.3
droppes <- c("favorited", "truncated", "replyToSID", "statusSource", "retweeted", "longitude", "latitude", "replyToUID", "retweetCount", "favoriteCount","replyToSN", "isRetweet")
politi <- politi[,!(names(politi) %in% droppes)]
head(politi)
##                                                                                                                                           text
## 1  #Nattlandsveien Bergen kl 0223: Politipatrulje stanset kjøretøy etter vinglete kjøring. Bilfører (mann i 30-årene)… https://t.co/NdfH4YpCXs
## 2 #Vestretorggaten Bergen kl 0053: Truende person på Sentrum kebab. Trusler og ordensforstyrrelse mot betjening. Beru… https://t.co/GjxZB1cK5Z
## 3 #Damsgårdsveien Bergen kl 0024: Politiet tilkalt til #Straxhuset, grunnet slagsmål. Kontroll på en person (mann i 4… https://t.co/fcaf82QTnK
## 4                                                                           Vegen er ryddet og patruljen avslutter. Trafikken går som normalt.
## 5                                                                            Igangsatt manuell dirigering. Ingen id på de involverte så langt.
## 6             Totalt 3 personer involvert. To av dem er på veg til traumemottaket, Haukeland sykehus. Store materielle skader på begge bilene.
##               created                  id screenName
## 1 2019-11-14 02:06:36 1194798754920108032 politivest
## 2 2019-11-14 00:54:37 1194780640643813378 politivest
## 3 2019-11-14 00:00:55 1194767127485530113 politivest
## 4 2019-11-13 23:54:40 1194765552390148096 politivest
## 5 2019-11-13 23:11:43 1194754743953960961 politivest
## 6 2019-11-13 22:47:24 1194748625966043136 politivest
politiplot <- ggplot(politi, aes(x=created, y=screenName)) + geom_point()
politiplot

politisør <- userTimeline("politietsorvest", n = 100)
politisør <- twListToDF(politisør)
politisør <- politisør[,!(names(politisør) %in% droppes)]

#Bind sammen de to søkene med rbind
allepoliti <- rbind(politi, politisør)

#Lag grafer som viser når tweets er blitt sendt
allepolitiplot <- ggplot(allepoliti, aes(x=created, y=screenName)) + geom_point()
allepolitiplot

sistedøgn <- subset(allepoliti, allepoliti$created > '2019-11-13 00:00:00')

sistedøgnplot <- ggplot(sistedøgn, aes(x=created, y=screenName)) + geom_point()
sistedøgnplot

sistedøgnvest <- subset(sistedøgn, sistedøgn$screenName == "politivest")
nrow(sistedøgnvest)
## [1] 21
natt <- subset(sistedøgn, sistedøgn$created < '2019-11-13 07:00:00')
nattplot <- ggplot(natt, aes(x=created, y=screenName)) + geom_point()
nattplot