如何让R向我显示字符向量中每个变量的频率?

时间:2017-04-12 17:38:06

标签: r vector character dplyr

我正在分析181,000多个用户操作的电子表格,并且有兴趣知道每个用户执行了多少操作。我希望R向我显示特定用户名称的出现次数,从最高到最低排名,以便我可以专注于执行最多操作的用户(我们对执行的用户并不感兴趣,比方说,十个动作,当我们最活跃的用户在过去一周内执行了101,554次)。我创建了字符向量new.variable.v来选择" screen_name"电子表格的列,

table(table(new.variable.v))

显示了我的计数,但没有显示屏幕名称。我读过的所有其他解决方案似乎都是为了识别特定实例发生的次数,而我想知道每个不同屏幕名称出现的次数。一个更R-adept的朋友提出了一些其他的东西,从我的控制台复制了他们的错误消息:

new.variable.sort[order(new.variable.sort[,2], decreasing=TRUE),]
  

[.default中的错误(new.variable.sort ,, 2):错误的数量   尺寸

new.variable.order <- count(new.variable.v)
  

UseMethod中的错误(&#34; group_by _&#34;):没有适用的方法   &#39; GROUP_BY _&#39;应用于类&#34;字符&#34;

的对象
count(new.variable.v, x) %>% 
    arrange(desc(n))
  

UseMethod中的错误(&#34; group_by _&#34;):没有适用的方法   &#39; GROUP_BY _&#39;应用于类&#34;字符&#34;

的对象

我已经搜索了这些错误并阅读了一些关于它们的其他StackOverflow条目,但未能产生成功的结果。提前感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

替代的dplyr / tidyverse风格方法是首先使用df <- readxl::read_excel()将电子表格读入数据框。然后,您可以使用以下命令查找screen_name的计数:

res <- df %>%
  group_by(screen_name) %>%
  summarise(volume = n()) %>%
  arrange(desc(volume))

我个人喜欢这种方法,因为我在rStudio中工作,并将结果作为数据框输出,让我可以轻松查看和使用它。