数据中前 10 个频率的最大计数 table

Maximum count for top 10 frequencies in data table

我想创建一个 table 人们停止课程的 10 个最常见的原因。我的停药调查有大约 2,000 个回复,数据集名为 'Discontinued'。有 35 个类别来描述 'Reason'。目前我一直在使用下面的代码,但这给了我所有 35 个停产代码的频率。

Discontinued[,list(Count= .N), by = reason][order(-Count)]

data.table 排序方式是 setorder。所以而不是

Discontinued[,list(Count= .N), by = reason][order(-Count)][1:10]

使用

应该会更快
setorder(Discontinued[, list(Count= .N), by = reason], -Count)[1L:10L]