2016-05-16 81 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)'函数。 –