2014-10-01 54 views
-2

答案可能很簡單,但我被卡住了:如何獲得R輸出到CSV文件?

我使用Twitter API 1.1獲取某個帳戶的推文。通過使用以下功能

user <- getUser("xxx") 
userTimeline(user, n=300, maxID=NULL, sinceID=NULL, includeRts=FALSE) 

我收到大約150條推文。它看起來像這樣:

[[125]] 
[1] "AlexSalmond: Many thanks to @welovehistory carpentry &amp; joinery apprentice Hannah Ross for the table she's built for Bute House http://t.co/1CnuACirLC" 

[[126]] 
[1] "AlexSalmond: Well done to all involved in #ArmedForcesDay &amp; #BannockburnLive â€「 making Stirling’s Big Weekend a massive success http://t.co/ho3Az1O9cF" 

[[127]] 
[1] "AlexSalmond: Enjoyed conversation and public Q&amp;A with @DerekBateman2 last week â€「 you can listen here: http://t.co/alCkf14zij #IndyRef" 

如何將這些數據保存到csv文件?

通過使用write.csv它給了我下面的錯誤:

Error in as.data.frame.default(x[[i]], optional = TRUE) : 
cannot coerce class "structure("user", package = "twitteR")" to a data.frame 
+1

強制其一個data.frame或矩陣。 'write.table'或'write.csv'應該可以工作。或者,你可以'writeLines'來寫每個列表元素。 – 2014-10-01 09:39:04

回答

1

有一個在Twitter的包的功能,採取列表,並創建一個數據框出來呢?
twListToDF

user <- getUser("xxx") 
data <- userTimeline(user, n=300, maxID=NULL, sinceID=NULL, includeRts=FALSE) 
write.csv(twListToDF(data), file="something.csv") 
+0

非常感謝。這是一個非常好的解決方案,這正是我所期待的。 – Carolin 2014-10-01 17:32:04

0

將您的數據轉換成數據幀。看起來你的數據是以列表的形式出現的。

如果你的Twitter數據被命名爲twitterList

data <- data.frame(cbind(twitterList)) 

數據現在將包含150條意見(如果你的twitterList有150個tweetlists)。

現在你可以寫數據

write.table(data, "filename.csv", row.names=FALSE, sep=",") 

這會寫你的數據爲csv文件到您的工作目錄。或者選擇你自己的位置和文件名,它會將csv文件保存到你相應定義的位置。