我试图找出特定用户频繁发送/提及另一个用户的频率.通过twitteR-package,我可以检索给定用户的推文,但是如果推文提到几个用户,则只有第一个在replyToUID字段中提到.因此,我的数据框的第一列包含推文,例如:
"@ user1 @ user2你读过@ user3写的东西吗?"
我想将用户名提取到这样的列表中
来自下一条推文的用户将在下面添加.如果有人知道怎么做(提取,我可以处理循环)它或指向我正确的方向它将是非常了解.
可选地,对于真正有用的,如果您知道如何复合最终的列表(在处理了n个推文之后),而不是
列表(或表格)读取如下(计算某个用户被提及的频率)
它会更加苛刻.
谢谢你,伊莱亚斯
我不确定有效的Twitter用户名的规则是什么,但假设只允许使用字母数字字符,您可以使用简单的正则表达式:
x <- "@user1 @user2 have you read what @user3 wrote?"
users <- function(x){
xx <- strsplit(x, " ")
lapply(xx, function(xx)xx[grepl("@[[:alnum:]]", xx)])
}
users(x)
[[1]]
[1] "@user1" "@user2" "@user3"
Run Code Online (Sandbox Code Playgroud)
此外,此解决方案还假定所有单词都用空格分割,即它不适用于后跟标点符号的用户名.你必须扩展这个答案来应对这种情况.
| 归档时间: |
|
| 查看次数: |
1205 次 |
| 最近记录: |