【发布时间】:2019-04-09 09:33:21
【问题描述】:
我正在使用rtweet 包的get_friends 函数来获取一组焦点用户的朋友user_id 的列表,这些用户是从Twitter 讨论的参与者中抽取的。该函数返回一个小标题列表。
每个 tibble 有两列 - 一列是焦点用户的 user_id,第二列是焦点用户朋友的 user_id。由于每个用户的好友数量不同,因此每个 tibble 中的行数也不同。
我的问题:由于未知原因,一些焦点用户的帐户现在不存在。因此,该列表具有如下所示的空小标题:
> 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
我希望我的代码能够识别这些空的 tibbles,并在没有这些 tibbles 的情况下对列表进行子集化。
我在这些小标题上使用了nrow 函数来查找每个焦点用户拥有的朋友数量。
nFriends <- as.numeric(lapply(userFriends, nrow))
我将这个值为零的索引作为空小标题,并使用子集技术将它们删除,如下所示:
nullIndex <- nFriends!=0
userFriendsFinal <- userFriends[nullIndex]
到目前为止,这似乎有效。但是通过这种方式,我也删除了零朋友的用户(尽管可能性很小)以及不再存在或通过 API 访问的用户。我想确保我只删除那些无法访问或不存在的人。 请帮忙。
【问题讨论】: