So im actually working on twitteR and i need a way to store my tweets into a csv file and pull it out when i need it . This is due to the idea i want to compile the tweets i collect and then apply them to my algorithms to do the calculations later. So , i thought of trying
write.csv(tweets, file = "newfile", row.names = TRUE, sep = ',', col.names = TRUE)
which only works if create a data frame tho :/ . The tweets that i collect looks like this
[[1]]
[1] "anonymous: boring!"
[[2]]
[1] "anonymous: random message !"
.... ......
Any ideas?
Edited: my str(tweets) this is just 3 tweets i just pulled out
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
You can use the sink() function to quickly export a list to a CSV file or text file in R.
You could simply use save(...) or save. image(...) to save your list object as rdata file. Then, you can download this file from your server and load it into the current R work space of your computer (function load(...)).
Not tested, but from what I've read online, it seems like the following should work:
Convert the list
to a data.frame
library(plyr)
tweets.df = ldply(tweets, function(t) t$toDataFrame())
Use write.csv
as before, but just on the tweets.df
object instead of the tweets
object.
write.csv(tweets.df, file = "newfile.csv")
Sources: Here and here. See also: ?"status-class"
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With