сгруппируйте пользователей и найдите трех наиболее упомянутых пользователей в R

0

У меня есть фрейм данныхdf только с одним столбцомmentions .

  mentions
 _________
 1   @one
 2   @two
 3   @one
 4   @four
      ...

Я хочу найти самого упоминаемого пользователя. Я пыталсяgroup_by(df) но это ничего не меняет.

  • 0
    Спасибо! Вопрос решен с помощью df %>% group_by(mentions) %>% summarise(n = n()) newdf <- df[order(df$n, decreasing = TRUE),] head(newdf, 1)
Теги:
group-by tweets mention
CodeFix

2 ответа

2
rev(sort(table(df$mentions)))[1]
Поделиться
Источник
1

Путаница здесь возникает из-за того, что group by сообщает R, как применять следующие несколько вычислений. Это означает, что мы действительно хотим считать, используя группу упоминаний.

Я бы предложил использовать%>% функция, за которой следуетcount() .

Ниже я привел воспроизводимый пример:

library(tidyverse)

df <- tribble(~L,
        "a",
        "a",
        "a",
        "a",
        "a",
        "b",
        "b",
        "b",
        "b", 
        "c",
        "c",
        "c",
        "c",
        "c")

df %>% 
  group_by(L) %>% 
  count() %>% 
  arrange(desc(n))

Попробуйте это, но замените df и L на ваш df и упомяните, как это будут ваши данные.

Поделиться
Источник

Другие вопросы

CodeFix
Цитата дня

"Завидую тестировщикам: все хотят с ними дружить."

Эндрю Таненбаум