2016-05-16 29 views
1

我試圖從lookupUsers生成的列表中生成數據幀。考慮以下代碼片段,twitteR:將lookupUser列表轉換爲單個數據幀

library(twitteR) 
api_key <- "xx" 
api_secret <- "xx" 
access_token <- "xx" 
access_token_secret <- "xx" 
setup_twitter_oauth(api_key,api_secret,access_token,access_token_secret) 

listofusers <- c("POTUS", "FBI", "StackExchange") 
userlist <- lookupUsers(listofusers) 

它正在生成3個對象的列表。我怎樣才能將它轉換成可用的數據框?

回答

2

正如您從lookupUsers函數的文檔中所看到的,該調用的輸出爲:'用戶對象的列表,按用戶參數的順序排序,其名稱是用戶的特定元素匹配到'。

如果您然後跳轉到用戶類的文檔(仍在twitteR包中),您可以看到此類的其中一種方法是toDataFrame方法。

所以,你可以通過你的列表簡單地重複,調用該方法以獲得您的數據框重組:

to_df = lapply(userlist, function(tmp_user){ 
    tmp_user$toDataFrame() 
}) 
to_df = dplyr::bind_rows(to_df) 
+0

感謝。您的解決方案完美運作我發現了一個更簡單的解決方案我們可以直接使用'twListToDF(to_df)'函數。 –