【发布时间】:2017-09-08 15:01:10
【问题描述】:
我正在分析一个包含 181,000 多个用户操作的电子表格,并且想知道每个用户执行了多少操作。我希望 R 向我显示特定用户的名称出现了多少次,从高到低排列,这样我就可以专注于执行最多操作的用户(我们对执行十个操作的用户并不真正感兴趣,当我们最活跃的用户在过去一周执行了 101,554 次)。我创建了字符向量 new.variable.v 来选择电子表格的“screen_name”列,并且
table(table(new.variable.v))
显示计数,但不显示屏幕名称。我读过的所有其他解决方案似乎都旨在确定特定实例出现的次数,而我想知道每个不同的屏幕名称出现的次数。一个更擅长 R 的朋友提出了一些其他的建议,从我的控制台复制了他们的错误消息:
new.variable.sort[order(new.variable.sort[,2], decreasing=TRUE),]
[.default(new.variable.sort, , 2) 中的错误:错误的数量 尺寸
new.variable.order <- count(new.variable.v)
UseMethod("group_by_") 中的错误:没有适用的方法 'group_by_' 应用于“字符”类的对象
count(new.variable.v, x) %>%
arrange(desc(n))
UseMethod("group_by_") 中的错误:没有适用的方法 'group_by_' 应用于“字符”类的对象
我已经在谷歌上搜索了这些错误并阅读了一些关于它们的其他 Stack Overflow 条目,但我无法产生成功的结果。
【问题讨论】:
-
嗨,山姆!欢迎来到 SO。您能否提供一个可重现的示例(例如,只有少数示例行的数据框定义)?
-
你的意思是这样吗?> table(new.variable.v) new.variable.v -MakesSense- 12AIM784 12blue 12for14 1423cd 2011Rainmakr 37Tomate37 400000 4200 314 12 1 1 5 756 3 2 11 427Cobra 47 54p095 a_go_c aatkadam AAUSA7 AbackCab AbackChum35 1 143 1 3 5 7 2 1 2 AbackDate24 AbackEar10 AbackEase28 AbackLink18 AbackNest98
-
> table(data$screen_name, sort=true) data$screen_name 中的错误:“闭包”类型的对象不是子集 > freq% count(screen_name, sort = TRUE) UseMethod("group_by_") 中的错误:“group_by_”没有适用的方法应用于“function”类的对象 没有“group_by_”的适用方法应用于“character”类的对象
-
如果我们能够真正创建您遇到问题的数据,而不仅仅是查看您的输出是什么,这将是最有帮助的。例如,
data.frame(new.variable.v = c("A", "B", "C")).. 您可能会受益于阅读 stackoverflow.com/questions/5963269/…... -
好的,怎么样 (new.variable.v = c("EagerTape68", "EagerTape68", "jebinless3", "BoldOther94", "BoldOther94", "2011Rainmakr", "EagerTape68"))与该向量继续为 180K + 额外的条目?此示例的所需输出为 EagerTape68 = 3、BoldOther94 = 2、2011Rainmakr = 1、jebinless3 = 1。