2016-02-25 61 views
0

我正在使用RFatest软件包,并且遇到输出问题。尝试使用该软件包为每个喜欢帖子的人刮去一个页面。我可以使用for循环来创建数据框,但是输出看起来很奇怪,我想知道是否有人可以帮助我以不同的方式进行格式化。来自RFatest的R输出

这里是我的代码

post1<- "" 
for (i in page$id){ 
    post<- getPost(i, token, n = 1000, 
       likes = TRUE, comments = FALSE) 
    liker <- as.list(post$likes[1]) 
    post1 <- rbind(post1,liker) 
} 

这里的数据帧导致

Data Frame

最终的目标在这里是创建具有人的名字一个框架,在它的旁边会他们喜欢的帖子数量。这部分将是相当容易的,因为我可以检查名字是多少次他们发现,但我不能这样做与当前格式的帧中。提前

感谢。

回答

0

根据对rFacebook文档,getPost函数获取返回三件事;帖子,评论数据框,以及喜欢的数据框。

getPost返回一个包含三个组件的列表:post,likes和comments。首先,文章包含有关职位 信息:作者,创建日期,ID,喜欢的,评论和分享计数等 二,喜欢的是,包含了所有喜欢 的用户名和Facebook ID的数据帧帖子。最后,评论是有关的评论的帖子信息(作者, 消息,创建时间,ID)

在你的函数可以访问喜欢的数据帧liker <- as.list(post$likes[1])数据帧,但只采取的第一个元素大概是2d数据帧。您正在查找的数据可能在post$likes$from_name

+0

发现这样会产生有趣的结果。是的,它产生一个干净的数据帧,但我得到错误,并且许多名称被甩离误差为“:在rbind(POST1,类似器): 数结果的列是不向量长度的整数倍(ARG 2 )“ – user1582969

+0

那是因为'liker'向量是可变长度的,而你试图绑定的数据帧有一定数量的列。这就是为什么我建议将数据帧绑定在一起,以便每个'liker'都有一行,或者您可以将它们存储为矢量'post1 < - c(post1,liker)' – user5219763

+0

非常感谢。这是完美的 – user1582969