#r #ggplot2 #twitter #data-visualization
Вопрос:
Я загрузил твиты и пытаюсь представить различные хэштеги и то, как часто они публикуются в твиттере.
некоторые данные
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.nnGet 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
я хочу, чтобы он подсчитал все случаи появления различных хэштегов, которые могут присутствовать у каждого пользователя
Комментарии:
1.
hashtags
Колонка представляет собойlist
2. Я попробовал хэш<-таблицу(тестовые данные$хэштеги) и хэш
3. Основываясь на тех, которые вы показали, это
list
колонкаhashtags<list>
. Можете ли вы попробовать решение, опубликованное ниже.table
также не работает, т. е.table(as.list(letters))
дал бы совершенно другой результат4. решение создало диаграмму, могу ли я использовать условие if для отображения на графиках только хэштегов с более чем определенным числом, например 200
5. хорошо, это работает, я думаю, что смогу разобраться с остальным отсюда
Ответ №1:
Основываясь на показанных входных данных, «хэштеги» — это list
столбец. Возможно, нам потребуется сначала перейти к unnest
колонке, прежде чем применять count
. Кроме того, 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)))