所以我实际上正在使用twitteR,我需要一种方法将我的推文存储到csv文件中,并在需要时将其拉出来.这是因为我想编译我收集的推文然后将它们应用到我的算法以便稍后进行计算.所以,我想到了尝试
write.csv(tweets, file = "newfile", row.names = TRUE, sep = ',', col.names = TRUE)
Run Code Online (Sandbox Code Playgroud)
只有在创建数据框时才有效:/.我收集的推文看起来像这样
[[1]]
[1] "anonymous: boring!"
[[2]]
[1] "anonymous: random message !"
Run Code Online (Sandbox Code Playgroud)
...... ......
有任何想法吗?
编辑:我的str(推文)这只是我推出的3条推文
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
Run Code Online (Sandbox Code Playgroud)
没有经过测试,但从我在网上看到的内容看来,以下情况似乎应该有效:
转换list为adata.frame
library(plyr)
tweets.df = ldply(tweets, function(t) t$toDataFrame())
Run Code Online (Sandbox Code Playgroud)write.csv像以前一样使用,但只使用tweets.df对象而不是tweets对象.
write.csv(tweets.df, file = "newfile.csv")
Run Code Online (Sandbox Code Playgroud)您可以使用以下内容将推文转换为推文数据帧:
tweets.df <- do.call("rbind", lapply(tweets, as.data.frame))
Run Code Online (Sandbox Code Playgroud)
然后在write.csv函数中使用tweets.df.