gpt4 book ai didi

r - 从 R 中的 Twitter 状态中提取用户

转载 作者:行者123 更新时间:2023-12-04 12:01:18 24 4
gpt4 key购买 nike

我正在尝试了解特定用户向/提及其他用户的推文频率。通过 twitteR-package 我可以检索给定用户的推文,但是如果一条推文提到了几个用户,那么在 replyToUID 字段中只提到第一个用户。所以我的数据框的第一列包含推文,例如:

“@user1 @user2 你读过@user3 写的东西吗?”

我想将用户名提取到这样的列表中

  • 用户1
  • 用户2
  • 用户3

下面添加下一条推文的用户。如果有人知道该怎么做(提取,我可以处理循环)或指出我正确的方向,那将非常感激。

如果您知道如何组合最终的列表(在处理 n 条推文之后),而不是

  • 用户1
  • 用户2
  • 用户3
  • 用户1
  • 用户3
  • 用户4

列表(或表格)如下所示(计算某个用户被提及的频率)

  • 用户 1、2
  • user2, 1
  • 用户 3、2
  • user4, 1

它会更受欢迎。

谢谢你,埃利亚斯

最佳答案

我不确定有效 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"

此外,此解决方案还假设所有单词都用空格分隔,即它不适用于用户名后跟标点符号。您必须扩展此答案以应对这种情况。

关于r - 从 R 中的 Twitter 状态中提取用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12078410/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com