试图在条形图中表示主题标签

Trying to represent hashtags in a bar chart

我已经下载了推文,我正在尝试表示不同的主题标签以及它们发布推文的频率。

一些数据

screen_name     location             text                                         created_at          hashtags
  <chr>           <chr>                <chr>                                        <dttm>              <list>  
1 Patrick33079201 "Canada"             "Please sign Romans petition to stop vaccin~ 2021-09-24 23:36:33 <chr [1~
2 wakeupsleepers  "Philippians 3:20 <U+271E>" "@cwt_news When will people wake up?\nhttps~ 2021-09-24 23:35:58 <chr [1~
3 keen_alice      " UK"                "Without  scanning qr code vaccine passport~ 2021-09-24 23:34:57 <chr [1~
4 Sledgeh63514792 ""                   "Mike yeadon warned us about being on a com~ 2021-09-24 23:33:10 <chr [1~
5 PeterHu65796484 ""                   "Mike yeadon warned us about being on a com~ 2021-09-24 23:32:41 <chr [1~
6 thbransfield    "here"               "@ksorbs Wow.\n\nGet the vaccine.  That way~ 2021-09-24 23:32:17 <chr [1~

ggplot(testdata,aes(x=count(unique(hashtags))))+
  geom_bar()

我收到这个错误

Error in abs(x) : non-numeric argument to mathematical function

我希望它计算每个用户可能出现的不同主题标签的所有出现次数

根据显示的输入,'hashtags' 是 list 列。在应用 count 之前,我们可能需要先 unnest 列。此外,count 需要输入 data.frame/tibble 而不是向量或列表

library(dplyr)
library(tidyr)
library(ggplot2)
testdata %>%
    unnest(c(hashtags)) %>%
    count(hashtags) %>%
    ggplot(aes(x = hashtags, y = n)) + 
       geom_col()

或者如果我们需要 base R 图,unlist 列,使用 table 获取频率计数并使用 barplot

barplot(table(unlist(testdata$hashtags)))