如何提取仅包含单个指定#rstats话题标签的推特推文?
筛选仅含单个#rstats标签推文的实现方法
rtweet包返回的推文数据中,hashtags列为列表格式,每个元素对应单条推文的所有话题标签向量(默认不带#前缀),你可以按照以下逻辑筛选符合要求的记录:
实现代码
# 加载依赖包(如果已加载可跳过) library(dplyr) library(purrr) # 筛选仅含单个#rstats标签的推文 single_rstats_tweets <- rstats_tweets %>% # 第一重筛选:单条推文的话题标签总数为1 filter(map_int(hashtags, length) == 1) %>% # 第二重筛选:唯一的标签为rstats,tolower用于忽略大小写差异,不需要可以删除 filter(map_chr(hashtags, ~tolower(.x[1])) == "rstats")
结果验证
你可以运行以下代码确认筛选结果是否符合要求:
# 查看前5条筛选后推文的话题标签 head(single_rstats_tweets$hashtags, 5)
如果你习惯用base R实现,也可以用以下代码:
# 统计每条推文的标签数量 tag_count <- lengths(rstats_tweets$hashtags) # 筛选标签数为1且内容匹配的记录 single_rstats_tweets <- rstats_tweets[tag_count == 1 & tolower(sapply(rstats_tweets$hashtags, `[`, 1)) == "rstats", ]
内容的提问来源于stack exchange,提问作者FredNina
相关产品推荐
相关产品推荐

