如何用R的academictwitteR获取同时含双主题词的推文?
解决方法
问题出在get_all_tweets对向量类型的query参数会自动用OR连接所有元素,包括你加入的"AND",导致生成的查询逻辑不符合预期。要实现同时包含两个主题各至少一个词汇的筛选,需要手动构造符合逻辑的查询字符串:
- 分别将两个主题的词汇用
OR连接并包裹在括号中,确保每个主题的内部逻辑是“任一词汇匹配” - 用
AND连接两个主题的查询片段,实现“两个主题都需匹配”的逻辑
具体代码如下:
vec_topic1 <- c("word_1","word_2","word_3") vec_topic2 <- c("word_a","word_b","word_c") # 构造单个主题的查询片段(带括号) topic1_query <- paste0("(", paste(vec_topic1, collapse = " OR "), ")") topic2_query <- paste0("(", paste(vec_topic2, collapse = " OR "), ")") # 组合成最终查询:(主题1词汇OR...) AND (主题2词汇OR...) combined_query <- paste(topic1_query, "AND", topic2_query) # 获取双主题推文 tweets_both_topics <- get_all_tweets( query = combined_query, start_tweets = "2020-01-01T00:00:00Z", end_tweets = "2020-12-31T00:00:00Z", file = "tweets_both_topics", data_path = "data/", n = 500 )
这段代码生成的查询语句是(word_1 OR word_2 OR word_3) AND (word_a OR word_b OR word_c),能精准筛选出同时包含两个主题各至少一个词汇的推文。
内容的提问来源于stack exchange,提问作者maychnix
相关产品推荐
相关产品推荐

