【发布时间】:2015-06-23 12:53:38
【问题描述】:
我一直在使用the excellent answer here 来查找具有数据表的组的模式。但是,我还想找到每组变量 y 的 x 模态值的出现次数。我该怎么做?
编辑:找到模式的方法比上面链接的答案更快。我找不到我从中得到的答案(如果有,请编辑并链接),但它使用此功能(如果存在则查找多种模式):
MultipleMode <- function(x) {
ux <- unique(x)
tab <- tabulate(match(x, ux)); ux[tab == max(tab)]
}
这里有个版本,在有两个的时候任意只取第一个模式:
SingleMode <- function(x) {
ux <- unique(x)
ux[which.max(tabulate(match(x, ux)))]
}
我现在使用它作为我编写函数的基本代码来查找模式的频率,如下所示,而不是我上面链接到的答案。
【问题讨论】:
-
很好的答案。不过,您知道,将答案放在下面而不是在问题中是标准做法。
-
对不起,如果这令人困惑!底部的两块代码实际上只是找到模式,而不是模式的频率,这就是我的答案。我将对其进行编辑以使其更清晰。
标签: r function data.table mode