我正在使用package的get_friends
功能来获取一组从 Twitter 话语中的参与者中抽取的焦点用户的朋友列表。该函数返回一个小标题列表。rtweet
user_id
每个 tibble 有两列 - 一列是焦点用户的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 访问的用户。我想确保我只删除那些无法访问或不存在的人。请帮忙。