Donc, je travaille effectivement sur Twitter et j'ai besoin d'un moyen de stocker mes tweets dans un fichier CSV et de les extraire quand j'en ai besoin. Ceci est dû à l'idée que je veux compiler les tweets que je collectionne et les appliquer ensuite à mes algorithmes pour effectuer les calculs plus tard .
write.csv(tweets, file = "newfile", row.names = TRUE, sep = ',', col.names = TRUE)
qui ne fonctionne que si vous créez un cadre de données tho:/. Les tweets que je collectionne ressemblent à ceci
[[1]]
[1] "anonymous: boring!"
[[2]]
[1] "anonymous: random message !"
..........
Des idées?
Edité: mon str (tweets) c'est juste 3 tweets que je viens de sortir
List of 3
$ :Reference class 'status' [package "Twitter"] with 17 fields
..$ text : chr "damn so many thing to settle @@"
..$ favorited : logi FALSE
..$ favoriteCount: num 0
..$ replyToSN : chr(0)
..$ created : POSIXct[1:1], format: "2013-10-11 14:15:59"
..$ truncated : logi FALSE
..$ replyToSID : chr(0)
..$ id : chr "388669309028798464"
..$ replyToUID : chr(0)
..$ statusSource : chr "web"
..$ screenName : chr "ThisIsNapmi"
..$ retweetCount : num 0
..$ isRetweet : logi FALSE
..$ retweeted : logi FALSE
..$ longitude : chr(0)
..$ latitude : chr(0)
..$ urls :'data.frame': 0 obs. of 4 variables:
.. ..$ url : chr(0)
.. ..$ expanded_url: chr(0)
.. ..$ dispaly_url : chr(0)
.. ..$ indices : num(0)
..and 50 methods, of which 38 are possibly relevant:
.. getCreated, getFavoriteCount, getFavorited, getId, getIsRetweet, getLatitude,
.. getLongitude, getReplyToSID, getReplyToSN, getReplyToUID, getRetweetCount, getRetweeted,
.. getRetweets, getScreenName, getStatusSource, getText, getTruncated, getUrls, initialize,
.. setCreated, setFavoriteCount, setFavorited, setId, setIsRetweet, setLatitude,
.. setLongitude, setReplyToSID, setReplyToSN, setReplyToUID, setRetweetCount, setRetweeted,
.. setScreenName, setStatusSource, setText, setTruncated, setUrls, toDataFrame,
.. toDataFrame#twitterObj
$ :Reference class 'status' [package "Twitter"] with 17 fields
..$ text : chr "@Neverush @asmafab http://t.co/TOakKW4kyc"
..$ favorited : logi FALSE
..$ favoriteCount: num 0
..$ replyToSN : chr "Neverush"
..$ created : POSIXct[1:1], format: "2013-10-11 12:55:04"
..$ truncated : logi FALSE
..$ replyToSID : chr "388647414808051712"
..$ id : chr "388648948111392770"
..$ replyToUID : chr "44332730"
..$ statusSource : chr "web"
..$ screenName : chr "ThisIsNapmi"
..$ retweetCount : num 0
..$ isRetweet : logi FALSE
..$ retweeted : logi FALSE
..$ longitude : chr(0)
..$ latitude : chr(0)
..$ urls :'data.frame': 1 obs. of 5 variables:
.. ..$ url : chr "http://t.co/TOakKW4kyc"
.. ..$ expanded_url: chr "http://www.youtube.com/watch?v=2mjvfnUAfyo"
.. ..$ display_url : chr "youtube.com/watch?v=2mjvfn…""| __truncated__
.. ..$ start_index : num 19
.. ..$ stop_index : num 41
..and 50 methods, of which 38 are possibly relevant:
.. getCreated, getFavoriteCount, getFavorited, getId, getIsRetweet, getLatitude,
.. getLongitude, getReplyToSID, getReplyToSN, getReplyToUID, getRetweetCount, getRetweeted,
.. getRetweets, getScreenName, getStatusSource, getText, getTruncated, getUrls, initialize,
.. setCreated, setFavoriteCount, setFavorited, setId, setIsRetweet, setLatitude,
.. setLongitude, setReplyToSID, setReplyToSN, setReplyToUID, setRetweetCount, setRetweeted,
.. setScreenName, setStatusSource, setText, setTruncated, setUrls, toDataFrame,
.. toDataFrame#twitterObj
$ :Reference class 'status' [package "Twitter"] with 17 fields
..$ text : chr "@Neverush @asmafab nasi lemak bumbung ? ahahahaha"
..$ favorited : logi FALSE
..$ favoriteCount: num 0
..$ replyToSN : chr "Neverush"
..$ created : POSIXct[1:1], format: "2013-10-11 12:34:39"
..$ truncated : logi FALSE
..$ replyToSID : chr "388643321108631552"
..$ id : chr "388643810613264384"
..$ replyToUID : chr "44332730"
..$ statusSource : chr "web"
..$ screenName : chr "ThisIsNapmi"
..$ retweetCount : num 0
..$ isRetweet : logi FALSE
..$ retweeted : logi FALSE
..$ longitude : chr(0)
..$ latitude : chr(0)
..$ urls :'data.frame': 0 obs. of 4 variables:
.. ..$ url : chr(0)
.. ..$ expanded_url: chr(0)
.. ..$ dispaly_url : chr(0)
.. ..$ indices : num(0)
..and 50 methods, of which 38 are possibly relevant:
.. getCreated, getFavoriteCount, getFavorited, getId, getIsRetweet, getLatitude,
.. getLongitude, getReplyToSID, getReplyToSN, getReplyToUID, getRetweetCount, getRetweeted,
.. getRetweets, getScreenName, getStatusSource, getText, getTruncated, getUrls, initialize,
.. setCreated, setFavoriteCount, setFavorited, setId, setIsRetweet, setLatitude,
.. setLongitude, setReplyToSID, setReplyToSN, setReplyToUID, setRetweetCount, setRetweeted,
.. setScreenName, setStatusSource, setText, setTruncated, setUrls, toDataFrame,
.. toDataFrame#twitterObj
Non testé, mais d'après ce que j'ai lu en ligne, il semble que ce qui suit devrait fonctionner:
Convertir la list
en data.frame
library(plyr)
tweets.df = ldply(tweets, function(t) t$toDataFrame())
Utilisez write.csv
comme auparavant, mais uniquement sur l'objet tweets.df
au lieu de l'objet tweets
.
write.csv(tweets.df, file = "newfile.csv")
Vous pouvez utiliser ce qui suit pour convertir des tweets en tweets dataframe:
tweets.df <- do.call("rbind", lapply(tweets, as.data.frame))
Ensuite, utilisez tweets.df dans votre fonction write.csv.
en utilisant le paquet Twitter:
convertir vos tweets en trame de données
tweets2df <- twListToDF(tweets)
puis enregistrez-le au format CSV
write.csv(tweets2df, file = "tweets.csv")