如何从get_friends函数返回的小标题列表中删除空小标题?

时间:2019-04-09 09:33:21

标签: r list tibble rtweet

我正在使用get_friends程序包的rtweet函数来获取一组重点用户的朋友user_id的列表,这些用户是从Twitter讨论中的参与者中抽样的。该函数返回小标题列表。

每个小标题都有两列-一栏包含焦点用户朋友的user_id,第二列包含焦点用户朋友的user_id。由于每个用户有不同数量的朋友,因此每个小标题中的行数也不同。

我的问题:由于未知原因,一些主要用户的帐户现在不存在。因此,列表中出现了一些小标题,如下所示:

> userFriends[[88]]
# A tibble: 0 x 0

一个非空的小标题看起来像这样:

> userFriends[2]
[[1]]
# A tibble: 32 x 2
                 user            user_id
                <chr>              <chr>
 1 777937999917096960           49510236
 2 777937999917096960           60489018
 3 777937999917096960         3190203961
 4 777937999917096960          118756393
 5 777937999917096960         2338104343
 6 777937999917096960          122453931
 7 777937999917096960          452830010
 8 777937999917096960           60937837
 9 777937999917096960 923106269761851392
10 777937999917096960          416882361
# ... with 22 more rows

我希望我的代码标识这些空的小标题,并在没有这些小标题的情况下对列表进行子集化。

我在这些小标题上使用了nrow函数来查找每个焦点用户所拥有的朋友数量。

nFriends <- as.numeric(lapply(userFriends, nrow))

我将零值为零的索引作为空小标题,并使用以下子设置技术将其删除:

nullIndex <- nFriends!=0
userFriendsFinal <- userFriends[nullIndex]

到目前为止,这似乎仍然有效。但是通过这种方式,我还删除了零个朋友的用户(尽管可能性很小)以及不再存在或无法通过API访问的用户。我想确保只删除那些无法访问或不存在的用户。 请帮忙。

2 个答案:

答案 0 :(得分:2)

您好,您可以使用private initCourses() { this.courseAccessService.gettopicById(this.courseId).subscribe( (topicDto: TopicDto) => { this.course = topicDto }, err => { this.displayError = true } ) } 软件包中的discard函数:

这是一个小例子:

purrr

答案 1 :(得分:1)

我们可以将Filternrow一起使用,这将删除所有行数为0的条目,即

Filter(nrow, userFriends)